자료구조 및 알고리즘

Heap

iksadnorth 2023. 7. 24. 20:37

완전 이진 트리의 자료 구조. 이진 탐색 트리는 아니다.
최소힙 최대힙으로 나뉠 수 있다.
해당 트리는 최소값, 최대값을 찾기에 특화되어 있는 자료 구조다.
최소값과 최대값은 각각 최소힙과 최대힙의 루트 노드다.

최대힙의 법칙
힙의 모든 부모 노드는 자식 노드보다 크다.

최대힙의 삽입
1. 새로운 노드를 마지막에 삽입.
2. 새로운 노드를 부모 노드와 비교하며 최대힙의 법칙을 위반하면 Swap 한다.
3. 위 과정이 안정화가 될 때까지 재귀적으로 반복한다.

최대힙의 삭제
1. 루트 노드를 삭제.
2. 마지막 노드를 루트 노드에 위치시킴.
3. 루트 노드를 자식 노드와 비교하며 최대힙의 법칙을 위반하면 Swap 한다.
단, Swap 대상은 자식 노드 중 가장 큰 노드이다.
4. 위 과정이 안정화가 될 때까지 재귀적으로 반복한다.

'자료구조 및 알고리즘' 카테고리의 다른 글

B-tree  (0) 2023.07.25
Hash Table  (0) 2023.07.24
레드 블랙 트리  (0) 2023.07.24
AVL 트리  (0) 2023.07.24
비선형 자료 알고리즘  (0) 2023.07.24