heapSort関数

本ページには広告が含まれています。

引数に指定された配列をヒープソートで並び替えます。

構文
heapSort( array )
引数
array 必須
ソートする数値を格納した配列。参照引数。
戻り値

プログラム

UWSC

使い方

UWSC
結果
プレーンテキスト

ヒープソート

ヒープソート(Heap Sort)は、完全二分木というデータ構造を使って配列をソートするアルゴリズムです。ヒープソートは選択ソートの改良版とも言われています。

最悪計算時間 \(O(n \log n)\)
最良計算時間 \(\Omega(n)\)
平均計算時間 \(O(n \log n)\)

アルゴリズム

  1. 配列をヒープと呼ばれる完全二分木に変換します。
  2. ヒープから最大値(あるいは最小値)を取り出し、配列の最後の要素と交換します。
  3. 配列の最後の要素を除いた部分をヒープとして再構築します。
  4. 2と3の処理を、配列の最初の要素が最大値になるまで繰り返します。

関連記事

QSORT関数 (スクリプト関数)
配列の中身をソートします。
bubbleSort関数 (自作関数)
引数に指定された配列を バブルソート で並び替えます。
shakerSort関数 (自作関数)
引数に指定された配列を シェーカーソート で並び替えます。
small関数 (自作関数)
配列の中で小さい方から数えた順位の値を求めます。
gnomeSort関数 (自作関数)
引数に指定された配列を ノームソート で並び替えます。
insertionSort関数 (自作関数)
引数に指定された配列を 挿入ソート で並び替えます。
shellSort関数 (自作関数)
引数に指定された配列を シェルソート で並び替えます。
quickSort関数 (自作関数)
引数に指定された配列を クイックソート で並び替えます。
shearSort関数 (自作関数)
引数に指定された配列を シェアソート で並び替えます。
RESIZE関数 (スクリプト関数)
配列の上限値を取得または変更します。配列の上限値を変更する場合は第二引数に値を指定します。