【質問】選択/挿入ソートの順序安定性 平成17年秋期問12

ステップさん  
(No.1)
https://www.ap-siken.com/kakomon/17_aki/q12.html

いまいち納得ができません。
挿入ソートが「後ろに挿入する」ことで安定するなら、選択ソートも「未整列部分を先頭から見ていく」ことで安定するのではないでしょうか。

何か根本的な勘違いをしていそうな気がするので、理解するためのヒントを教えていただけると幸いです。
2025.05.15 12:10
jjon-comさん 
AP プラチナマイスター
(No.2)
旧ソフトウェア開発 平成17年 秋期 午前 問12
https://www.ap-siken.com/kakomon/17_aki/q12.html

具体例を示します。

未整列の並びに対して(7は2箇所に登場するので、7aと7bと書き分けました)
+―+―+―+―+―+―+―+―+
|7a|4|2|8|7b|1|9|5|
+―+―+―+―+―+―+―+―+

最小のキー値をもつ要素と先頭の要素とを入れ換える。
+=+―+―+―+―+=+―+―+
‖1‖4|2|8|7b‖7a‖9|5|
+=+―+―+―+―+=+―+―+

これにより、先頭の要素が整列済となり、
先頭の要素1つを除いた後方の残り(未整列の並び)の長さが一つ減りました。

上記は、7aと7bの並びが初期状態どおりにはなっていません。
つまり、キー値が等しい要素同士について、整列前の要素の順序(前後関係)が保たれません。
2025.05.15 13:56
ステップさん  
(No.3)
回答ありがとうございます。

たしかにその例では順序安定性が崩れますね。

自分の中で
同じキーを持つ要素=最小キーを持つ要素
だと決めつけて考えてしまっていたようです。
2025.05.15 14:40

返信投稿用フォーム

スパム防止のためにスレッド作成日から40日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop