523 : 先頭のソート I
リストをソートするための次のアルゴリズムを考える。
リストの先頭から始めて、隣接する要素の各ペアを順番に調べる。
要素の順序が正しくない場合:
ペアの最小の要素をリストの先頭に移動する。
手順 1 からプロセスを再開する。
すべてのペアが正しい順序になったら停止する。
例えばリスト {4,1,3,2} は次のようにソートされる。
4132 (4と1は順序が間違っているため、1をリストの先頭に移動する)
1432 (4と3は順序が間違っているので、3をリストの先頭に移動する)
3142 (3と1は順序が間違っているので、1をリストの先頭に移動する)
1342 (4と2は順序が間違っているため、2をリストの先頭に移動する)
2134 (2と1は順序が間違っているので、1をリストの先頭に移動する)
1234 (リストはソートされた)
リスト L をソートするためにステップ2aを実行する回数を F(L) とする。 例えば、F({4132})=5である。
E(n) を、整数 {1,2,…,n} のすべての順列 P に対する F(P)の期待値とする。 E(4)=3.25, E(10)=115.725が与えられている。
E(30) を求めよ。答えは小数点以下2桁に丸めて与えよ。
最終更新
役に立ちましたか?