直接挿入ソート研究ノート

直接挿入ソート


 

注文プロセス


 

基本的な

ソート配列Aの長さn、二つの部分配列の存在仮定の - 順序付け間隔[0、i]は、ランダムな間隔[I + 1、N-1]

(1)間隔[0、I]の順序付きトラバーサルは、乱れ挿入部の適切な位置を見つけるために、[I + 1、N-1]の要素A [I + 1]。

ソートされた範囲の(2)拡張[0、I + 1]、障害が間隔[I + 2、N-1]に低減されます。

(3)プロセスは[0、N-1]の間隔の規則的膨張するまで繰り返され、即ち、ソートが完了しました。


 

最適化

  直接挿入ソートアルゴリズムの画期的な嘘の最適化:すぐ右の挿入位置を見つけるためにどのように?

  図1に示すように、設定されたビットセンチネル

    トラバースは、記録素子A [x]は、挿入位置Xの前に挿入されます。素子Aのトラバーサルに挿入する場合は[I + 1] よりも小さい直接間隔[X、i]はモバイル後方位置にA [x]は、すべての要素は、区間[0、X-1]は、右を見つけるために挿入された位置、要素の横断[I + 1]に挿入される場合は、に等しく、 [x]は、直接間隔に[X + 1、i]は、すべての要素がバックつの位置を移動させるために、その後、[I + 1] X + 1マーク低い位置に挿入された、この比はトラバース要素を挿入する場合[I + 1] より大きい、[x]は、挿入間隔[0、i]は右位置を求める従来の方法に従います。

  2、バイナリ検索

    与えられた要素の順序付けられたシーケンスを検索し、最速の方法は間違いなく二分探索法であるが、アルゴリズムの安定性が破壊されるという欠点があります。今、私たちは、アルゴリズムの安定性を破壊しなければならない、あなたは直接、より優れたシェルソートを使用することができます。

 

おすすめ

転載: www.cnblogs.com/KenBaiCaiDeMiao/p/12452558.html