힙은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리를 기본으로 한 자료구조로서 다음과 같은 힙 속성을 만족한다. A가 B의 부모노드 이면, A의 키값과 B의 키값 사이에는 대소관계가 성립한다. 위키백과

종류

Untitled

구현

왼쪽 자식의 인덱스 = 부모 인덱스 * 2

오른쪽 자식의 인덱스 = 부모 인덱스 * 2 + 1

부모의 인덱스 = 자식의 인덱스 / 2 (몫)

Untitled

heap의 삽입(Upheap 연산)

  1. 요소를 가장 하위 레벨의 최대한 왼쪽으로 삽입 ( 배열에선 가장 마지막)
  2. 부모값과 비교해 더 작은 경우 위치 변경 (위치 변경이 없을 때 까지 반복)