[解決済み】ソートアルゴリズムにおける安定性とは何ですか、なぜそれが重要なのですか?
質問
ソートアルゴリズムにおいて、なぜ安定性が重要なのか、あるいは重要でないのか、非常に興味があります。
どのように解決するのですか?
ソートアルゴリズムは、次のように言われています。 <強い 安定 同じキーを持つ2つのオブジェクトが、ソートされる入力配列に現れるのと同じ順番でソートされた出力に現れる場合。ソートアルゴリズムの中には、挿入ソート、マージソート、バブルソートなどのように、もともと安定なものがあります。また、ヒープソートやクイックソートなど、そうでないソートアルゴリズムもあります。
背景 安定したソートアルゴリズムとは、ソートキーが同じものを順番に並べていくものです。 例えば、5文字の単語のリストがあるとする。
peach
straw
apple
spork
各単語の最初の文字だけでリストをソートすると、stable-sort が生成されます。
apple
peach
straw
spork
で
不安定
ソートアルゴリズムです。
straw
または
spork
は入れ替わるかもしれませんが、安定したものでは同じ相対位置に留まります(つまり
straw
の前に表示されます。
spork
の前に表示されます。
spork
を出力します)。
このアルゴリズムを使って単語のリストをソートすることができます:列5で安定的にソートし、次に4、3、2、1。 最終的に、正しくソートされます。 自分で納得してください。(ちなみに、このアルゴリズムは基数ソートと呼ばれています。)
さて、質問に答えるために、姓と名のリストがあるとします。 このとき、姓から順に並べ替えるように言われたとします。 まず姓でソート(安定または不安定)し、次に姓で安定ソートすることができます。 これらのソートの後、リストは主に姓でソートされます。 しかし、姓が同じ場合は、姓でソートされます。
不安定なソートを同じように積み重ねることはできません。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ループ不変量によるマージソートの正しさの証明 (初期化 , 保守 , 終了)
-
[解決済み] n個のユニオンのfind(サイズによるユニオン)演算を実行する際の時間計算量がO(n log n)であるのはなぜか?
-
[解決済み] O(n)の整数ソートアルゴリズムはあるか?
-
[解決済み】有向グラフのサイクルを検出する最適なアルゴリズム【クローズド
-
[解決済み】美観を損なわないカラーパレットをランダムに生成するアルゴリズム【終了しました
-
[解決済み】ある点が2次元の三角形の中にあるかどうかを判断する方法は?[クローズド]
-
[解決済み】円の円周上にある点を計算するには?
-
[解決済み】動的計画法を用いて,最も長く増加する部分列を決定する方法とは?
-
[解決済み】iTunes 11の曲リストに色をつけるアルゴリズムはどうなっているのでしょうか?[クローズド]
-
[解決済み】big-O時間複雑度の高いアルゴリズムが低いアルゴリズムより好ましいと思うケースはありますか?