エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Pythonで学ぶアルゴリズム 第19弾:並べ替え(ヒープソート) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Pythonで学ぶアルゴリズム 第19弾:並べ替え(ヒープソート) - Qiita
#Pythonで学ぶアルゴリズム< ヒープソート > はじめに 基本的なアルゴリズムをPythonで実装し,アルゴリ... #Pythonで学ぶアルゴリズム< ヒープソート > はじめに 基本的なアルゴリズムをPythonで実装し,アルゴリズムの理解を深める. その第19弾としてヒープソートを扱う. 前回扱ったスタックとキューに対して,ヒープソートはヒープと呼ばれる木構造によりデータを扱う. ヒープは子ノード間での制約はないが親ノードと子ノードでの大小関係の制約がある.場合により, (親$\le$子),(親$\ge$子)のようになる.今回は小さいものからデータを扱うために制約は(親$\le$子)とする.そのイメージ図を次に示す. 1親ノードに対して2子ノードの構造をもつヒープを特に二分ヒープという. これを今まで扱ってきたようにリストのデータをこのヒープ構造に落としこむ.このときヒープ構造に落としこむということは木の上から順に小さな値となっていることが分かる.すなわち,一番上の親ノードを取り出すと,そのときの最