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 | 31 |
Tags
- Developer
- 42서울
- 오블완
- 배포
- EC2
- 체크인미팅
- 스프링
- RDS
- AWS
- 온라인테스트
- CICD
- 프리티어
- 자바개발자
- 위키북스
- 티스토리챌린지
- 생활코딩
- 백엔드개발자
- UNICON
- 백엔드
- 프로그래밍
- 도커
- UNIDEV
- 스프링부트
- 개발공부
- 인프라
- 게임개발동아리
- 전국대학생게임개발동아리연합회
- UNICON2023
- 라피신
- 인디게임
Archives
- Today
- Total
Hyun's Wonderwall
[컴퓨터알고리즘] 5장 - 힙 정렬 본문
힙 정렬
- 최악: O(nlgn)
- 제자리 정렬.
- Heap 자료구조 특징
- Heapify(), BuildingHeap(), HeapSort()
- 우선순위 큐
Heap 자료구조
- 힙은 완전이진트리 (맨 마지막 level 제외 꽉 차있는 이진 트리)
- 트리는 무조건 부모/자식 단일 연결. 상향: 부모, 하향: 자식.
- 배열로 구현된다. (노드에 1번부터 번호 붙어있. 삽입 순서=배열 인덱스. A[0] 안쓰는 경우로 설명함.)
- root 노드 A[1]
- i번째 노드 A[i]: 부모 노드 A[i/2], 왼쪽 자식 노드 A[2i], 오른쪽 자식 노드 A[2i+1]
Heap 용어
- 노드의 height: 리프부터 노드까지의 간선 개수
- 트리의 height: 루트노드의 높이
- 노드의 depth: 루트부터 노드까지의 간선개수 (루트노드의 깊이=0)
n개 요소가 있는 힙의 높이는 ⌊lg(n) ⌋
- 모든 힙 연산은 힙의 높이에 비례한다.
Heap의 특성
* Max-Heap: 항상 부모가 큼
* Min-Heap: 항상 부모자 작음
- 이진트리의 subtree도 이진트리이다.
Heap 연산
- MAX 추출 알고리즘
'Subjects > 컴퓨터알고리즘' 카테고리의 다른 글
[컴퓨터알고리즘] 11. 레드블랙트리 (0) | 2024.06.19 |
---|---|
[컴퓨터알고리즘] 10. 이진검색트리 (0) | 2024.06.19 |
[컴퓨터알고리즘] 4장 - (2) 분할정복기법 (0) | 2024.04.24 |
[컴퓨터알고리즘] 4장 - (1) 점화식 (0) | 2024.04.24 |
[컴퓨터알고리즘] 3장 - 함수의 증가 (0) | 2024.04.24 |