
자료구조 - 힙(Heap)
힙(Heap) 이란 힙은 특별한 종류의 이진트리인데, 주로 우선순위 큐(Priority Queue)를 구현하는 데 사용됩니다. 힙은 다음과 같은 특성을 가지고 있습니다. 1. 부모 노드의 값이 항상 자식 노드의 값보다 크거나 작음(최대 힙 또는 최소 힙). 2. 완전 이진 트리(Complete Binary Tree) 구조를 가짐. 이는 트리의 모든 레벨이 완전히 채워져 있고, 가장 아래 레벨은 왼쪽부터 채워져야 함을 의미합니다. 힙은 주로 다음과 같은 작업에 사용됩니다. 최댓값 또는 최솟값을 빠르게 찾아내는 작업 (O(1) 시간 복잡도로 가능). 데이터의 삽입과 삭제(최대 또는 최소 요소에 대한)를 빠르게 수행하는데 효율적. 최대 힙은 부모 노드가 자식 노드보다 크거나 같은 값을 가지며, 최소 힙은 부모..