최대힙은 완전이진트리로 구현된 자료구조입니다. 그 구성은 부모 노드값이 왼쪽자식과 오른 쪽 자식노드의 값보다 크게 트리를 구성하는 것입니다. 그렇게 하면 트리의 루트(root)노드는 입력된 값들 중 가장 큰 값이 저장되어 있습니다. 예를 들어 5 3 2 1 4 6 7순으로 입력되면 최대힙 트리는 아래와 같이 구성됩니다
import sys
sys.stdin=open("input.txt","rt")
# n,m = map(int,input().split())
# n = int(input())
# arr = list(map(int,input().split()))
import heapq as hq
a =[]
while True:
i = int(input())
if i ==-1:
break
if i == 0:
if len(a) == 0:
print(-1)
else:
print(-1* hq.heappop(a))
else:
hq.heappush(a, -1* i)'코테연습 > python' 카테고리의 다른 글
| 이진트리 순회(깊이우선탐색) (0) | 2026.05.11 |
|---|---|
| 재귀함수를 이용한 이진수 출력 (0) | 2026.05.09 |
| 최소힙 (0) | 2026.05.06 |
| Anagram(아나그램) 스택 (0) | 2026.05.05 |
| 단어 찾기(해쉬) (0) | 2026.05.04 |