SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
Week7. 힙
특성
완전 이진 트리 (왼쪽부터 차례로)
최대 힙: 임의의 노드 값은 부모 보다 클 수 없다 (Left, Right의 대소 관계는 중요치 않다)
서브 트리 모두 힙 (재귀적)
구현에 필요한 프로시저
MAX-HEAPIFY O(lg n)
BUILD-MAX-HEAP O(n)
HEAPSORT O(n lg n)
PARENT(i) = i / 2
LEFT(i) = 2i
RIGHT(i) = 2i + 1
MAX-HEAPIFY
현재 노드가 자식보다 큰 값인지 확인
작을 경우 자식으로 내려 보냄
4
9 2
9
4 2
재귀 호출 하더라도
최대 힙의 높이 만큼이기 때문에
O(lg n)
BUILD-MAX-HEAP
배열을 최대 힙으로 만드는 프로시저
MAX-HEAPIFY를 마지막 노드부터
루트까지 호출하면 최대 힙 완성
자식이 있는 노드에 한해서만 호출
(A[length/2+1].. A[n] 생략)
N * MAX-HEAPIFY 이므로 O(n lg n)
MAX-HEAPIFY를
높이 h인 노드에서 호출
높이 h인
노드의 갯수
HEAP-SORT
힙의 자료구조
특성을 이용해
정렬
배열이 최대 힙
일경우 오름 차
순 정렬
HEAP-SORT
BUILD-MAX-HEAP 선행
루트노드와 마지막 노드 스왑
루트노드에서 MAX-HEAPIFY 수행
10
12
11
12
10
SWAP
MAX-HEAPIFY
1. 2. 3.

Contenu connexe

Plus de HansolJang5

Week9 certificate
Week9 certificateWeek9 certificate
Week9 certificateHansolJang5
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauthHansolJang5
 
Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층HansolJang5
 

Plus de HansolJang5 (7)

Week10 vpn
Week10 vpnWeek10 vpn
Week10 vpn
 
Week9 certificate
Week9 certificateWeek9 certificate
Week9 certificate
 
Week8 code
Week8 codeWeek8 code
Week8 code
 
Week7. sso and oauth
Week7. sso and oauthWeek7. sso and oauth
Week7. sso and oauth
 
Week3.network
Week3.networkWeek3.network
Week3.network
 
Week2.network
Week2.networkWeek2.network
Week2.network
 
Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층Week1. 물리계층과 데이터링크 계층
Week1. 물리계층과 데이터링크 계층
 

Week7heapsort