優先キュー
docs
defaultは一番小さいお尻です
heapqの使用
nlargest
nlargest
iterableで定義されたデータセットのn個の最小要素からなるリストを返します.
defaultは一番小さいお尻です
v[0]
は常に最高値(最高値)を維持しているが、残りの指数が順序を維持する保証はない.heapqの使用
import heapq
作成heap = []
# 이미 원소가 들어있는 리스트이면,
v = [4,1,2]
heapq.heapify(v)
要素の追加heapq.heappush(heap, 4)
heapq.heappush(heap, 1)
# (우선순위, 원소) 의 형식으로 추가도 가능하다.
heap2 = []
heapq.heappush(heap2, (1, 4))
要素の削除print(heapq.heappop(heap)) # 가장 작은 원소를 삭제 후에 그 값을 return 한다.
削除せずに取得print(heap[0]) - 가장 작은 값/ 큰 값만 얻을 수 있다.
heappushpopheappushpop(heap,item)
hipでitemを開き、heapの最小項目をポップアップして返します.heappushとheapppopを単独で呼び出すよりも効率的です.nlargest
nlargest(n, iterable, key = None)
iterableで定義されたデータセットのn個の最大要素からなるリストを返します.nlargest
iterableで定義されたデータセットのn個の最小要素からなるリストを返します.
Reference
この問題について(優先キュー), 我々は、より多くの情報をここで見つけました https://velog.io/@jujube0/우선순위큐テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol