単元一覧 › 大学数学 アルゴリズムと計算量

アルゴリズムと計算量の問題

難易度 3期末試験の応用レベル大学数学 アルゴリズムと計算量

互いに異なる 個の実数を並べた配列 の最大値と最小値を、次のアルゴリズムで同時に求める。

  • 最初に , とする。
  • の順に、次の操作を行う。
  • まず と を比較する。 ならば とし、この についての操作を終える( とは比較しない)。
  • ならば、続けて と を比較する。 ならば とする。

配列の並び方は 通りのどれも同様に確からしいとする。このアルゴリズムで行われる要素どうしの比較( と の比較、 と の比較)の回数の期待値を求めよ。

この問題で使うもの

この問題を解けるようになるまで(16 技能)

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

比較の総回数を、各 の操作での比較回数 の和に分け、期待値の線形性を使いましょう。

ヒント 2

番目の操作で比較が 回で済むのは、 が の中で最大のときです。その確率は何でしょうか。

ヒント 3

より です。これを で足し合わせます。

答えと解説

答えを見る
結果を記録する(このブラウザにだけ保存されます):
解説を読む

各 ()について、 番目の操作で行われる比較の回数を とする。 と の比較は必ず 回行われ、 と の比較は のときだけ行われる。よって

である。

番目の操作を始める時点で は の最大値である。したがって となるのは、 が の 個の中で最大であるときに限る。並び方がすべて同様に確からしいので、この 個のうちどれが最大であるかも同様に確からしく、

となる。よって

比較の総回数は であり、期待値の線形性より

ここで、分母を にそろえると

したがって

(約 回。最悪の場合の 回より少し少ない。)

別解

各 について、 と の比較は必ず 回行われる。このとき は の最大値である。

となるのは、 が の中で最大のときである。配列は一様ランダムで要素は互いに異なるので、その確率は である。

それ以外(確率 )のときは、 との比較がさらに 回行われる。

したがって 番目の操作での比較回数の期待値は である。

期待値の線形性より、全体の期待値は
。

ここで である。

よって となる。

検算: 。一方 で一致する。

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題