HOME»応用情報技術者試験掲示板»【質問】選択/挿入ソートの順序安定性 平成17年秋期問12
投稿する

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

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

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

何か根本的な勘違いをしていそうな気がするので、理解するためのヒントを教えていただけると幸いです。
2025.05.15 12:10
jjon-comさん(No.2) 
AP プラチナマイスター
旧ソフトウェア開発 平成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日経過したスレッドへの投稿はできません。
© 2010- 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop