整列2(sort)

ソートアルゴリズムの速度の比較
種類平均最悪備考
バブル O(N2)O(N2) 
選択 O(N2)O(N2) 
挿入 O(N2)O(N2) 
シェル O(N3/2)O(N3/2) 
クイック O(NlogN)O(N2) 
マージ O(NlogN)O(NlogN) 
ヒープ O(NlogN)O(NlogN) 

マージソート(merge sort)

    New
    新しい配列を作る
    Size
    サイズを変更する
    Draw
    図形を描きなおす
    Run
    自動実行を開始する
    Step
    シングルステップ実行する

シェルソート(shell sort)

    New
    新しい配列を作る
    Size
    サイズを変更する
    Draw
    図形を描きなおす
    Run
    自動実行を開始する
    Step
    シングルステップ実行する

クイックソート(quick sort)

    New
    新しい配列を作る
    Size
    サイズを変更する
    Draw
    図形を描きなおす
    Run
    自動実行を開始する
    Step
    シングルステップ実行する

  • 分割値(pivot value)として、右端のデータを選んでいるので、 逆順にソートされていた場合には最悪の状態になる

 クイックソート(quick sort)改良版

    New
    新しい配列を作る
    Size
    サイズを変更する
    Draw
    図形を描きなおす
    Run
    自動実行を開始する
    Step
    シングルステップ実行する

  • 分割値(pivot value)として、3のメジアン(median-of-three)を使っている (最初、中央、最後の3つの値のメジアンを分割値として選ぶ)

ヒープソート(heap sort)