힙 힙(Heap)은 완전 이진 트리*에 있는 노드 중에서 값이 가장 큰 노드나 값이 가장 작은 노드를 찾기 위해 만든 자료구조다. 값이 가장 큰 노드를 찾기 위한 힙을 최대 힙(Max Heap), 가장 작은 노드를 찾기 위한 힙을 최소 힙(Min Heap)이라고 한다. 힙은 우선순위 큐(Priority Queue)라고도 한다. STL에서는 std::priority_queue로 구현이 되어 있다. 힙의 불변성 힙이 되기 위한 조건 최대 & 최소 원소에 즉각적으로 접근이 가능해야 한다. //그래서 최대 & 최소 원소는 항상 루트 노드에 존재한다. 부모 노드가 자식 노드보다 항상 크거나(Max Heap), 작아야 한다(Min Heap).//부모와 자식간의 족보가 제대로 갖춰져야 한다. 연산 - 검색 및 읽기 ..