エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
素敵なデータ構造:ヒープ by Python - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
素敵なデータ構造:ヒープ by Python - Qiita
データ構造の説明 ヒープとは、 ・二分木を用いるデータ構造で、 ・木の深さh-1以下の部分については完... データ構造の説明 ヒープとは、 ・二分木を用いるデータ構造で、 ・木の深さh-1以下の部分については完全二分木を形成し、 ・各頂点と親頂点との間に親頂点≧子頂点の関係が成立し、 ・値xの検索には適さないですが、最大値の取得が得意 なようです。 class Heap(): heap = [] # 値の追加 # 一番最後の葉に追加したのち、「自分の親と比較して逆転していれば入れ替える」を繰り返す def push(self, x): self.heap.append(x) i = len(self.heap)-1 while i > 0: p = (i-1)//2 if self.heap[p] >= x: break self.heap[i] = self.heap[p] i = p self.heap[i] = x return self.heap # 最大値の取得 def top(sel