🚨 'C언어로 쉽게 풀어쓴 자료구조' 라는 책을 활용했던 과거 수업 필기를 정리한 것입니다.
💡 Chapter 순서는 책과 같지만 교수님의 과거 수업 내용에 따라 일부 책과 다른 내용이 있습니다.
※ n개의 데이터 sorting 하는데 걸리는 최소의 시간 nlg n
Heap 의 성질
배열 H[1, ... N]에 N개의 Data
heap을 구성한 후 root를 N번 (정확히는 N-1번) 삭제하여 나열함으로 sorting -> O(Nlg N)
A[1, ..., N]
1. Building-Heap // Bottom - Up -> O(N)
2. for(k = N down to 2) {
swap(A[1], A[k]) // 삭제
HeapDown(1, k-1) // 재정비
}