SlideShare a Scribd company logo
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.

More Related Content

PDF
30 힙 정렬2 - 최대힙,최소힙,정렬
PDF
Week12 bucket sort
PDF
Week11 counting radix_sort
PDF
Week10 quicksort performance
PDF
Week9 quicksort
PDF
Week4.maximumsubarray
PDF
Week3.asymtotic notation
PDF
Week11 ssh
30 힙 정렬2 - 최대힙,최소힙,정렬
Week12 bucket sort
Week11 counting radix_sort
Week10 quicksort performance
Week9 quicksort
Week4.maximumsubarray
Week3.asymtotic notation
Week11 ssh

More from HansolJang5 (7)

PDF
Week10 vpn
PDF
Week9 certificate
PDF
Week8 code
PDF
Week7. sso and oauth
PDF
Week3.network
PDF
Week2.network
PDF
Week1. 물리계층과 데이터링크 계층
Week10 vpn
Week9 certificate
Week8 code
Week7. sso and oauth
Week3.network
Week2.network
Week1. 물리계층과 데이터링크 계층
Ad

Week7heapsort