파이썬 API 둘러보기

heapq

객체가 아니라 알고리즘(C 스타일 함수들)을 제공한다.

리스트를 힙 모양으로 관리해주는 도구라고 보면 되겠다.

힙의 배열 구현을 알아야 리스트를 읽을 수 있다.

 

heapify()는 정리안 된 리스트를 힙으로 만들어 준다.

>>> import heapq
>>> heap = [7,3,1,2,4,5,6]

>>> heapq.heapify(heap)
>>> heap
[1, 2, 5, 3, 4, 7, 6]

>>> heapq.heappush(heap, 10)
>>> heap
[1, 2, 5, 3, 4, 7, 6, 10]

>>> heapq.heappop(heap)
1
>>> heap
[2, 3, 5, 10, 4, 7, 6]

 

누군가 Heap 클래스를 만들었을 거 같아서 찾아보니 여기 있다.

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
장과장02
현재 버전
선택 버전
graphittie 자세히 보기