七、ソートアルゴリズム

まず、ソートの概念と分類

の一種の一般的な定義

 ソートデータ要素を「順序付け」目的「障害」に設定することで、コンピュータの一般的動作は、データ要素に調整されます。

例如 : 将下列关键字序列
52, 49, 80, 36, 14, 58, 61, 23, 97, 75
调整为
14, 23, 36, 49, 52, 58, 61 ,75, 80, 97

ソーティング数学的定義
 シーケンス仮説は{R1、R2、...、RnのようなN個のデータ要素を含む }、 対応するキーシーケンスは、{K1、K2、...、Knのある 、} 、これらのキーワードとを比較することができます即ち、それらの間のそのような関係が存在する:
Kp1を<= Kp2を<= ... <=のKpnの
固有の関係をクリックし、配列再配置記録
{R P1、R P2、... 、RのPN}
ソートと呼ばれる動作を。
ソート安定性は
二つのデータが存在する場合の要素はR [i]の配列とR [j]は、その鍵k [i]の== K [j内 ]、 およびソートの前に、オブジェクトR [i]はローでR [J]。、ソート後、上記目的がRである場合、[i]は静止被写体R [J]であり、この種の方法は、安定であると言われます。
マルチキーワードソート

排序时需要比较的关键字多余一个
排序结果首先按关键字 1 进行排序
当关键字 1 相同时按关键字 2 进行排序
……
当关键字 n-1 相同时按关键字 n 进行排序

クリティカルな業務のソート

比较:任意两个数据元素通过比较操作确定先后次序
交换: 数据元素之间需要交换才能得到预期结果

ソートソート内側と外側

内排序:整个排序过程不需要访问外存便能完成
外排序:待排序的数据元素数量很大 , 整个序列的排序过程不可能在内存中完成

ソートトライアル

时间性能:关键性能差异体现在比较和交换的数量
辅助存储空间:为完成排序操作需要的额外的存储空间;必要时可以“ 空间换时间”
算法的实现复杂性:过于复杂的排序法会影响代码的可读性和可维护性 , 也可能影响排序的性能

第二に、基本的なソートアルゴリズム

選択ソート
各パス(例えば、i番目の時間、I = 0、1、... 、N-2) のi番目の要素の順序付けられたシーケンスとして、NI行の後ろになるように、キーワードデータ要素内の最小要素を選択要素。
七、ソートアルゴリズム
挿入ソート
部を挿入する際に、I(I> = 1)のデータ要素の、Vの前に[0]、V [1 ]、...、V [I-1]が既にソートされています。この場合、[I-1]、V [I-2]、...、 V [i]はVをキーワードとするキーワードが比較され、挿入位置を見つけるためにはV程度である[i]は、後方にオブジェクトの元の位置に挿入されますシフト旬。
七、ソートアルゴリズム

バブルソートは、
データ要素の列配列の要素の数であるように設けられているnです。N-1までの時間については、I = 1、2、... ...、N-1。、J = N-1からi番目のフォワード後に実行N -2、...、I、 ペアワイズ比較V [J-1]およびV [J]キーワード。逆が発生した場合、スイッチV [J-1]およびV [J]。
七、ソートアルゴリズム
ヒルソートする
ソートいくつかのグループに分けカラム、各グループ内の挿入ソート、実質的に全体の順序付けられたシーケンスように、その後、シーケンス全体の挿入ソートであろう。

将n个数据元素分为d个子序列:
{R[1],R[1+d],R[1+2d],…,R[1+kd]}
{R[2],R[2+d],R[2+2d],…,R[2+kd]}
...
{R[d],R[2+d],R[3+2d],…,R[(k+1)d]}

ここで、Dは徐々に下降し、デルタと呼ばれる最後の旅行に減少ソートするまで、ソート処理中にその値を減少させます。

クイック
二つのサブ配列への配列全体の周りに重要な要素の大きさに応じて基準となる最初の要素):取るべきデータ要素のいずれか(例えば、ソートされた順序に従って1)
 左の配列のすべて要素または基準要素に等しい未満で
 右シーケンスは、基準要素のすべての要素よりも大きい
 2つのサブ中間行の基準要素
に対応する行位置のすべてのオブジェクトまで繰り返される上記プロセス実行されるこれら2つの配列の2)これまでのところ。
七、ソートアルゴリズム

ソートマージ
新しいシーケンスに順序付け二つ以上の順序付けられたシーケンスを
V [1] ... V [M ] とV [M +1] ... V [ n]は-------- -----------> V [1] ... V [n]は
、このような双方向マージマージ方法として。
七、ソートアルゴリズム
概要:
ソートシェル、クイックソートとマージソートOのアルゴリズム(N * LOGN)の時間複雑性を向上させるソート
ソートヒルの結果をソートし、クイックソート不安定な
アルゴリズムのソースコード

おすすめ

転載: blog.51cto.com/yinsuifeng/2415507