計算機の学習メモ

この想像しがたい状況が成立する過程を、以下に詳述する。

選択ソート

あらかじめ床に並べられたトランプを見ていき(j)、
一番小さい数を先頭の数と交換する。
そうすると、比較した回数分、先頭からはソート済みになるので、
次の比較は先頭から比較した回数ぶん後ろ(i)から見ればよい。

選択ソートでは、離れた要素を交換するので、安定的なソートにはならない。
(比較部分を「<=」としてもダメ)

計算量は、例のごとく未ソート部分の最小値を検索するため、
(N-1) + (N-2) +
… + 2 + 1 = N(N-1)/2
となる。

■ソースgithub.com

■参考資料

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造