※「セキュリティ保護のため...」というメッセージが出る方・日本語が入力できない方へ


(3)ヒープソート
データを「ヒープ・トリー」という特殊な構造の中に格納し、その構造の 特殊性を利用してソートしていく。たいへん高速なソートであり、しかも メモリーの消費も少ない優秀なソート。 ヒープソートの最大のメリットは、並べ替える元のデータの品質に関係な く、高速にソートできることである。この後に述べる他のソートはデータ の元々の並び方によっては極端に遅くなる不幸な場合もある。 欠点は記述がやや複雑になることか。 【大雑把な処理の手順】
42 / \ 59 97 / \ / \ 19 34 63 18 / \ / \ / \ / \ 13 15 28 29 38 60 16 | HeapTreeというのは、二分木(binary tree)の各節(node) において、親が必ず二人の子供より大きい、という状態 が保たれているトリーである。 ソート手続きの前半では、このHeapTreeを構築する。そ うしたら、トップのメンバーと最後のメンバーを入れ替 え、要素数を1つ小さくして、またHeapTreeを構築する。 そのとき、基本的には「壊れた部分」だけを修復すれば 良いので高速に修復ができる。 |

