クラスノート:並べ替えの基本的な概念

並べ替え:一連のレコード{r1、r2、…、rn}が与えられた場合、対応するキーコードは{k1、k2、…、kn}であり、並べ替えはこれらのレコードを{rs1、 rs2、......、rsn}のシーケンス。対応するキーコードはks1≤ks2≤...≤ksn(昇順と呼ばれる)またはks1≥ks2≥...≥ksn(降順と呼ばれる)を満たします。
正のシーケンス:ソートされるシーケンス内のレコードは、キーコードでソートされています。
逆順(逆順):ソートされるシーケンス内のレコードの順序は、ソートされた順序の逆です。
トリップ:ソートプロセスでは、ソートするレコードのシーケンスをスキャンすることをトリップと呼びます。通常、ソート処理では
、ソートアルゴリズムの安定性を完了するために複数のスキャンが必要です。ソートするレコードセットに同じキー値を持つ複数のレコードがあるとします。ソートした場合、これらのレコードの相対的な順序は変更されません。つまり、元のシーケンスでは、ki = kjおよびriはrjの前にあり、ソートされたシーケンスでは、riはまだrjの前にあるため、このソートアルゴリズムは安定していると言われ、そうでない場合は不安定と呼ばれます。
不安定なソートアルゴリズムの場合は、例を挙げてその不安定性を説明します。安定したソートアルゴリズムの場合、アルゴリズムを分析して安定した特性を証明する必要があります。
分類アルゴリズムが安定しているかどうかは、特定のアルゴリズムによって決定されることに注意してください。不安定なアルゴリズムは特定の条件下で安定したアルゴリズムになる可能性があり、安定したアルゴリズムは特定の条件下で不安定なアルゴリズムになる可能性もあります。
関連におけるアルゴリズムの詳細な安定性と実装
バブルソートは安定ソート方法である
5,3,3,4
ルールがAである場合は[I]> [iが + 1]、 ルールは、A [Iである場合、安定化されています]> = a [i + 1]は不安定なソート方法です。
クイックソートは元々不安定なソート方法でしたが、ソートするレコードに同じキーコードを持つレコードのセットが1つしかなく、選択した軸の値が偶然同じキーコードの1つである場合、このときのクイックソートは安定しています。
ソートされたデータがメモリ内にあるか外部ストレージ内にあるかによる分類のソート
1. 内部ソートソートされるすべてのレコードは、ソートプロセス全体でメモリに配置されます
2. 外部ソートソートされるレコードの数による同時にメモリに配置するには多すぎます。一部のレコードはメモリに配置する必要があり、レコードの別の部分は外部メモリに配置されます。ソートプロセス全体では、ソート結果を得るために内部メモリと外部メモリの間で複数のデータ交換が必要です。
ソート分類は、 -基本操作を行うソート処理によれば
1、比較に基づいて:基本的な操作-記録最悪時間制限されたキーの比較の移動であることが証明されたO(nlog2n)。
2. 比較に基づいていない:キーコードの分布特性による。たとえば、バケットソート、
内部ソートの比較に基づくカーディナリティソート(マルチキーソート)
1、挿入ソート2、交換ソート3、選択ソート4、マージソートは
内部ソートの比較に基づいていません
1、割り当てソート2、バケットソート3.基数ソート
アルゴリズムのパフォーマンス
1. 時間の複雑さ:基本操作
並べ替えプロセスにおける内部並べ替えの基本操作:
比較:キーコード間の比較
移動:レコードある場所から別の場所に移動します。
2. スペースの複雑さ:補助ストレージスペース
補助記憶域とは、特定のデータサイズの条件でソートされるレコードが占める記憶域に加えて、アルゴリズムの実行に必要な記憶域を指します。
ソートアルゴリズムのストレージ構造
運用の観点からは、ソートは線形構造の操作であり、ソート対象のレコードは、順次ストレージ構造またはリンクされたストレージ構造に格納できます。

公開された48件の元の記事 いいね25 2453にアクセス

おすすめ

転載: blog.csdn.net/qq_43628959/article/details/104362946