알고리즘/알고리즘 개념

[파이썬]최소힙과 최대힙 구현하는 법

개발자 덕구🐾 2022. 3. 1. 21:45
728x90

최소힙 : 부모 노드의 값이 자식 노드의 값보다 항상 작은 트리

 

최대힙 : 부모 노드의 값이 자식 노드의 값보다 항상 큰 트리

 

 


 

 

 

파이썬에서 구현하는 방법 

 

1 ) 리스트를 생성한다. 

 

2) heapq를 import한다. 

import heapq as hq

3) 함수 이용 [ hq. heappop(), hq.heappush()]

a = [] #  a라는 리스트 
hq.heappop(a)  # a에서 pop한다. 
hq.heappush(a,n) # a에서 n이라는 숫자를 넣는다.

-> heappop, heappush를 수행할경우 수행 후 heap형태를 가진다. 

 

heapq는 기본적으로 최소힙이다

 

최대힙을 이용하고 싶은 경우 - 를 붙여 사용하면된다. 

 

 

 

반응형