ヒップホップ
1822 ワード
優先キューに作成されたデータ構造、heap.
優先キューデータ優先、優先度の高いデータ先出 Heap完全バイナリツリーの一種で、優先順位キューのための資料構造 最安値または最高値を素早く見つけるために作られた資料構造 ヒップホップは逆ソート状態のまま ヒップホップ許容繰返し値 種類 最大お尻 親ノードのキー値が子ノードのキー値以上のバイナリツリー 鍵(親)≧鍵(子) 最小お尻 親ノードのキー値が子ノードのキー値以下のバイナリツリー 鍵(親)≦鍵(子) 通常アレイ実施 実施を容易にするため、最初のインデックス0を使用しない 特定位置のノード番号は、新規ノードを追加した場合はそのまま ヒップホップの親ノードと子ノードの関係 左利きインデックス=(親)*2 右の子のインデックス=(親)*2+1 親のインデックス=(親)/2
優先キュー
ヒップ
from heapq import heappush, heappop
'''
파이썬에서 heap은 heapq 모듈에 있는 heappush와 heappop을 사용.
기본적으로 min heap(최소 힙)으로 구현 되어 있기 때문에,
max heap으로 사용하려면 아래와 같이 push 할 값에 -1을 곱해 줌.
'''
min_hq = []
heappush(min_hq,val)
heappop(min_hq)
max_hq = []
heappush(max_hq,(-val,val))
heappop(max_hq)
Reference
この問題について(ヒップホップ), 我々は、より多くの情報をここで見つけました https://velog.io/@kshired/힙-Heapテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol