[Python]heapq

EB·2023년 9월 11일
0

파이썬

목록 보기
3/3

Heap

우선순위 큐를 구현한 자료 구조이다

  • 노드를 왼쪽에서 오른쪽으로 빠짐없이 채워나가야 한다
  • 최소 힙은 부모노드가 자식노드의 값보다 작거나 같아야 한다

파이썬의 heapq모듈최소힙이다

Heapq

import heapq

heapq 메소드들의 사용법을 알아보자

heappush(heap, data) # 힙에 데이터를 삽입
heappop(heap) # 힙에서 루트노트의 값을 꺼낸 후 삭제
heapify(x) # 배열x를 힙 구조로 만듦
nlargest(n, iterable) # n번째로 큰값까지 리스트로 반환
nsmallest(n, iterable) # n번째로 작은값까지 리스트로 반환

ex)

nums = [1, 2, 5, 3, 4]
print(heapq.nsmallest(3, nums))

result : [1, 2, 3]

0개의 댓글