安定なソートと非安定なソートの違い

安定なソートと非安定なソートの違いについてのメモ。

安定なソート(Stable Sort)では、同じキーを持つ要素の相対的な順序が、ソートの前後で保持される

たとえば、(1,"A"), (3,"D"), (2,"B"), (2,"C")をソートしたとき、安定なソートでは(2,"B"), (2,"C")の順序は変わらない。ソート後は(1,"A"), (2,"B"), (2,"C"), (3,"D")となる。

安定なソートの例としては、バブルソート、マージソート、挿入ソートなどがある。

非安定なソート(Unstable Sort)では、同じキーを持つ要素の相対的な順序が、ソートの過程で変わる可能性がある

たとえば、(1,"A"), (3,"D"), (2,"B"), (2,"C")をソートしたとき、非安定なソートでは(2,"B"), (2,"C")の順序の変わる可能性がある。ソート後は(1,"A"), (2,"C"), (2,"B"), (3,"D")となる。

非安定なソートの例としては、クイックソート、ヒープソート、選択ソートなどがある。

安定なソートと非安定なソートの違いは、同じキーを持つ要素の相対的な順序が、ソートの前後で保持されるかどうかである。

Udemy : 現役シリコンバレーエンジニアが教えるアルゴリズム・データ構造・コーディングテスト入門

Licensed under CC BY-NC-SA 4.0
最終更新 Dec 23, 2023
Built with Hugo
テーマ StackJimmy によって設計されています。