1) 리스트로 구현
2) 힙(Heap)
으로 구현
데이터의 개수가 N개일 때 시간 복잡도 차이
단순히 N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업은 정렬과 동일하다. (== 힙 정렬)
O(NlogN)
완전 이진 트리
자료구조의 일종
힙에서는 항상 루트 노드(부모가 없는 노드)
를 제거한다.
최소 힙 (min heap)
Min-Heapify()
최대 힙 (max heap)
Max-Heapify()
힙에 새로운 원소가 삽입될 때 O(logN)
의 시간 복잡도로 힙 성질을 유지
Heapify()
를 진행한다.힙에서 원소가 제거될 때도 O(logN)
의 시간 복잡도로 힙 성질을 유지
Heapify()
를 진행한다.👁️🗨️ 참조
유튜브 동빈나 (https://youtu.be/AjFlp951nz0)
https://www.geeksforgeeks.org/heap-data-structure/
https://medium.com/@aahana22012001/heap-and-heap-sort-algorithm-9bc53eb8672e