Heap

완전 이진 트리에 있는 노드 중에서 키 값이 가장 큰 노드나 키 값이 가장 작은 노드를 찾기 위해서 만든 자료구조
최대 힙
키 값이 가장 큰 노드를 찾기 위한 힙
최소 힙
키 값이 작은 노드를 찾기 위한 힙
힙의 조건
1.
완전 이진 트리
2.
부모노드의 키 값 > 자식 노드의 키 값 or 부모노드의 키 값 < 자식노드의 키 값
삽입 시
완전 이진 트리를 유지해야하므로 마지막 노드의 다음자리를 먼저 만들어 삽입할 노드를 저장하고 부모 노드와 비교하면서 값을 정렬한다.
삭제 시
항상 루트 노드의 원소를 삭제하여 반환한다.