가장 높은(낮은) 우선순위를 가지는 노드를 빠르게 찾아내기 위해 고안된 완전 이진 트리(Complete Binary Tree)(노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리)기반의 자료구조
가장 높은(낮은) 우선순위를 가지는 노드가 항상 루트 노드(root node)에 오는 것이 특징
최대 힙(Max Heap)
최소 힙(Min Heap)
공통점
차이점
힙은 각 노드의 값이 자식 노드보다 크거나 같음 (Max Heap의 경우)
이진 탐색 트리는 왼쪽 자식 노드의 값이 가장 작고, 부모 노드, 오른쪽 자식 노드 값이 가장 큼
힙은 이진 탐색 트리와 다르게 자식 노드의 작은 값이 왼쪽 그 다음 오른쪽에 들어가야 한다는 조건이 없음
이잔 탐색 트리는 탐색을 위한 구조 / 힙은 최대,최소값을 찾기 위한 구조
일반적인 삭제의 경우 최상단 노드(root node)를 삭제하는 것이 일반적
상단의 노드를 삭제시, 가장 최하단부 왼쪽에 위치한 노드를 root node로 이동
root node의 값이 자식 노드 보다 작을 경우, root node의 자식 노드 중 가장 큰 값을 가진 노드와 root node 위치를 바꿈