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

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

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

互いに異なる 個の実数からなる集合を、次の乱択クイックソートで昇順に並べかえる。

  • 大きさ 以上の集合 を処理するときは、 の要素から 個をピボット として等確率で選ぶ。 を のほかのすべての要素とそれぞれちょうど 回ずつ比較し、 を より小さい要素の集合 と より大きい要素の集合 に分ける。そのあと、 と をそれぞれ同じ方法で処理する。
  • 大きさ または の集合を処理するときは、何もしない(比較を行わない)。

ピボットの選択はそれぞれ独立に行うものとする。最初の集合 個全体を処理し始めてから終わるまでに行われる比較のうち、小さい方から 番目の要素がかかわる比較の回数の期待値を求めよ。

この問題で使うもの

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

ヒント

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

ヒント 1

と各要素 が比較されるかどうかを表す指示確率変数の和に分けて、期待値の線形性を使おう。

ヒント 2

小さい順に とする。 と ()が比較されるのは、 の中で最初にピボットに選ばれたのが か のときに限る。

ヒント 3

と が比較される確率は 。求める期待値は である。

答えと解説

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

個の要素を小さい順に とする。求めるのは がかかわる比較の回数の期待値である。

つの要素が比較される条件 比較はピボットとほかの要素の間でしか行われず、ピボットに選ばれた要素はその後の部分集合に入らないので、同じ 要素が 回以上比較されることはない。

とし、 とおく。 の要素は、 の中から初めてピボットが選ばれるまでは、つねに同じ集合に入っている(それまでのピボットはすべて より小さいか より大きいので、 を分けない)。 の中から最初に選ばれたピボットを とすると、
- または ならば、 と はこのとき比較される。
- ならば、 は に、 は に分かれ、以後比較されることはない。

ピボットは集合の要素から等確率で選ばれるので、 の 個の要素のどれが最初のピボットになるかも等確率である。よって

期待値の計算 と ()が比較されるとき 、されないとき をとる確率変数を とすると、 がかかわる比較の回数は である。期待値の線形性より

各項を計算すると
- :
- :
- :
- :
- :
- :

したがって

別解

小さい方から 番目の要素を とする。 と ()が比較されるのは、 の 個のうち最初にピボットに選ばれるものが か のときに限る(それ以前にその間の要素がピボットに選ばれると、 と は別々の集合に分かれ、以後比較されない。また一度比較されるのはちょうど 1 回)。最初にピボットになるのは、この 個の中から等確率なので、比較される確率は 。

3 番目の要素 がかかわる比較の回数の期待値は、指示確率変数の線形性より

: 、: 、: 、: 、: 、: 。

合計は 。

検算: 左側 、右側 。和は 。一致する。

この問題の確認

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

間違いを報告する

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

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

関連する問題