Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 디자인 패턴
- Parallel Old GC
- Spring Cloud Netfilx Eureka
- The law of Demeter
- 체인 패턴
- zipkin
- 키클락
- TypeScript
- Spring Boot Actuator
- saga pattern
- JPA
- thread
- java 정렬
- 배치
- spring batch
- 디자인패턴
- 타입스크립트
- Transaction Pattern
- 멀티스레드
- MSA
- 스레드
- spring cloud
- Resilinece4j
- 생산자 소비자 패턴
- Serial GC
- 알고리즘
- 사가 패턴
- Action Pattern
- Java
- 스프링 배치
Archives
- Today
- Total
PSD( Private-Self-Development )
힙 정렬( Heap sort ) 알고리즘 본문
힙 정렬 알고리즘?
최대 힙 이나 최소 힙을 구성해 정렬하는 방법
내림차순은 최대 힙, 오름차순은 최소 힙
힙?
힙(heap)
힙 이란? 완전 이진트리의 일종이며, 우선순위 큐를 위해 만들어진 자료구조이다. 우선순위 큐? 우선순위 개념을 큐에 적용한 자료 구조이다. 가장 우선순위가 높은 데이터가 먼저 나간다. 배열,
chjysm.tistory.com
정렬 절차
- 정렬해야 할 n개의 요소들로 힙 을 만든다.
- 그 다음으로 한 번에 하나씩 요소를 힙에서 꺼내서 배열에 저장한다.
특징
장점
- 성능이 좋은편이다.
- 전체 자료를 정렬하는 기능 보다는 가장 큰 값과 작은 값이 필요한 경우이다.
구현
public static void heapSort( int[] target ){
// 최소힙 생성
Heap heap = new Heap( target.length, false );
for( int i : target ){
heap.add(i);
}
for( int i = 0; i < target.length; i++){
target[i] = heap.delete();
}
}
시간 복잡도
최상, 평균, 최악 : nlogn
참조
https://gmlwjd9405.github.io/2018/05/10/algorithm-heap-sort.html
[알고리즘] 힙 정렬(heap sort)이란 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
'Backend > 알고리즘' 카테고리의 다른 글
퀵 정렬( Quick sort ) 알고리즘 (0) | 2022.12.16 |
---|---|
병합 정렬( Merge sort ) 알고리즘 (0) | 2022.12.15 |
쉘 정렬( Shell sort ) 알고리즘 (0) | 2022.12.13 |
삽입 정렬( Insertion sort ) 알고리즘 (0) | 2022.12.12 |
선택 정렬( Selection sort ) 알고리즘 (0) | 2022.12.12 |