..
暗号は、報告書によると、セットの順序で項目の順番に優先順位を割り当てるソート操作のシーケンスです。
これらの行は、最も一般的な公開されます(un'approccio高配向試料で)と、それぞれの長所と欠陥についてコメントされます。
例のシンプルさが常に自然数の集合と大多数のそのような順番の関係として使用されるため、アルゴリズムはまだコードを適応させるの短編作品のネット、普遍的に有効な公開されています。
選択ソート
前のセットのナンバーワンを注文し、直観は最小値の各ステップの検索で、キャリアに応じて何度でも、その全体をスキャンし、最初に第2キャリアで識別される、順序付けられたシーケンスに追加することができます。
例:{5,1,3,8,2}
ステップ#1 - > {1、X、X、X、X}
ステップ#2 - > {1.2、X、X、X}
ステップ#3 - > {1,2,3、X、X}
ステップ#4 - > {1,2,3,5、X}
ステップ#5 - > {1,2,3,5,8}
(Xはまだ書かれていない新しいキャリアの位置でマークされている)
最初のセットは別のにコピーされるので、メモリ内の領域の観点から、この方法で適用されるこのアルゴリズムは非常に不利である。 単純なトリックは、単にすでに発注番号のサブセットの一部ではない最初の項目を見つけた最小値の交換に是正コピー操作を置き換えることです。
例:{5,1,3,8,2}
ステップ#1 - > {1,5,3,8,2}
ステップ#2 - > {1,2,3,8,5}
ステップ#2 - > {1,2,3,8,5}
ステップ#3 - > {1,2,3,5,8}
暗号は、可能な実装を以下の選択ソートを、改正される。
sel_sort(int型* V、int型のサイズ)
{
int型私= 0、TEMP = 0、Y = 0、J = 0;
(i = 0の、i = jの - )のための
{
{
TEMP = V [j]の;
Y = J;
}
スワップ(V、I、Y)/ /は、ベクトルv ieyの位置を入れ替える
}
}
二重ループは、このアルゴリズムによって行われた比較の数が要素数よりも正方形であることが推測位置しています。
選択ソートにも安定したアルゴリズムです。
安定したアルゴリズムでは、フルネームなどのデータ構造の場合で以前の注文に複数のキーで処理される、の効果を保持します。
1。 チャールズグリーン 2。 アンドレアロッシ 3。 マリオロッシ 4。 ルチアーノビアンキ我々は最初の名前のフィールドを並べ替える:
1。 アンドレアロッシ 2。 チャールズグリーン 3。 マリオロッシ 4。 ルチアーノビアンキ今最後の名前によって我々の順序は、より安定したアルゴリズムは、初期の優先順位が維持される、または、あなたが発注されているキーの間のタイのイベントで、最終的な場所を決定する最初の注文の位置です。
1。 ルチアーノビアンキ 2。 アンドレアロッシ 3。 マリオロッシ 4。 チャールズグリーン安定したアルゴリズムでは、このケースでは常にマリオロッシアンドレアロッシに先行することが保証されます。 一つは、安定した動作が予測可能ではない持っていないので、これは2と3の位置を逆にすることができる。
選択ソートのサイトにもあります。
アルゴリズムは、それが元のデータベースよりも余分なメモリ空間を利用していない場合(あるいは代わりに)スポットを明らかにした、またはそれは小さな一定量です。
| |
Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。 |
| |
バーニングCDやDVD(電子ブック)
フリーウェアのプログラムでCDやDVDを焼くためのガイド。 ちょうど25€。 |
| |
ウェブデザイン(コース)
HTML、CSSとダイナミックHTMLによるWebサイトを設計します。 39€から。 |