완전 이진 트리의 일종이다.
여러 개 값들 중 최대 값이나 최소 값을 빠르게 찾아내도록 만들어진 자료구조이다.
C++ STL에서는 prioriry_queue가 힙 자료구조로 되어있다.
그러므로 우선순위 큐를 만들 때 주로 사용된다 (최대 힙, 최소 힙)
힙은 반정렬 상태 (느슨한 정렬 상태) 를 유지한다.
힙의 종류
힙의 구현
힙을 저장하는 표준적인 자료구조는 배열이다.
구현을 쉽게 하기 위해서 배열의 첫번 째 인덱스 0은 사용하지 않는다.
특정 위치의 노드 번호는 새로운 노드가 추가되어도 변하지 않는다. (루트노드의 왼쪽은 항상2, 오른쪽은 3)
힙에서의 부모노드와 자식 노드와의 관계

힙의 삽입 연산

힙의 삭제연산
