アルゴリズムと計算量の問題
互いに異なる 個の数が入った配列を、次の乱択クイックソートで小さい順に並べる。
- 並べる数が 個または 個のときは、何もせずに終わる(比較は行わない)。
- 並べる数が 個()のときは、その 個の中からピボットを 個、等確率 で選ぶ。ピボットを残りの 個の数とそれぞれ 回ずつ比較し、ピボットより小さい数の組と大きい数の組に分ける。そのあと、それぞれの組に同じ手順を行う。
ピボットの選択は毎回ほかの選択と独立に行うものとする。数どうしの比較は上の「ピボットと残りの数との比較」だけで行われるとき、 個の数を並べ終えるまでに行われる比較の回数の期待値を求めよ。
この問題で使うもの
- 乱択クイックソート・乱択選択の期待比較回数(説明と入口の問題)
この問題を解けるようになるまで(64 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 樹形図で数え上げる
- 積の法則と和の法則
- 和の法則・積の法則と樹形図
- 順列・円順列・重複順列
- 組合せ
- 確率の定義と和事象・余事象
- 期待値
- 確率変数と確率分布
- 平均と合計
- 平均値・中央値・最頻値
- 代表値(平均値・中央値・最頻値)
- 分散と標準偏差
- 変量の変換と平均・分散
- 確率変数の期待値・分散と
- 確率変数の和と積(独立な場合)
- 指示変数と期待値の線形性
- 分数のたし算・ひき算
- 小数の四則計算
- 正負の数の加法・減法
- 分数のかけ算・わり算
- 四則の混じった計算の順序
- 正負の数の乗除・累乗と四則混合
- 分配法則を使った計算のくふう
- 文字式の計算(同類項・分配法則)
- 乗法公式による展開
- 因数分解
- 3 次式までの展開と因数分解
- 微分係数と導関数の定義
- 多項式の微分
- 多項式の不定積分
- 等間隔にならんだ数の和
- 等差・等比数列の和と Σ
- 数列の極限
- 関数の極限
- 積と商の微分
- 合成関数の微分
- 円の周の長さと面積
- おうぎ形の弧の長さと面積
- 弧の長さからおうぎ形の中心角と面積を求める
- 三角形・四角形の面積
- 約数の見つけ方
- 素因数分解と約数の個数
- 平方根の意味と根号の簡単化
- 三平方の定理
- 特別な直角三角形の辺の比
- 弧度法と単位円による三角関数
- の極限
- 加法定理と 2 倍角・半角・積和の公式
- 三角関数の導関数
- 根号の乗除と加減
- 指数の拡張と指数関数
- 対数の定義と性質
- 自然対数の底
- 指数関数・対数関数の導関数
- 基本的な関数の不定積分
- 置換積分
- 部分積分
- 定積分の計算
- 定積分の置換・部分積分と偶関数・奇関数
- 重積分と累次積分
- 同時分布・周辺分布と独立性
- 条件付き確率と乗法定理
- 条件付き分布と全期待値の公式
- 乱択クイックソート・乱択選択の期待比較回数
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
「乱択クイックソートの期待比較回数」の技能を使う。ピボットが何番目に小さい数かで場合分けし、全期待値の公式で 個のときの期待値 の漸化式を立てる。
ヒント 2
ピボットが小さい方から 番目のとき、比較は 回行われ、小さい組 個と大きい組 個が残る。これより 、 となる。
ヒント 3
、 である。これらを に代入する。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
個の数を並べるときの比較回数の期待値を とする。 個・ 個のときは比較しないので である。
漸化式を立てる(全期待値の公式)
個のとき、ピボットが小さい方から 番目()である確率はそれぞれ である。ピボットが 番目のとき、まず 回の比較を行い、小さい組に 個、大きい組に 個が入る。そのあとの比較回数の期待値は である(各組の中でのピボット選びも等確率なので、同じ が使える)。したがって、ピボットの順位で場合分けして全期待値の公式を使うと
となる( と はどちらも を 回ずつ動くので和は )。
小さい から順に計算する
:
:
:
(確認: は、ピボットが中央の数なら比較 回で終わり、端の数なら 回のあと残り 個で 回、合計 回なので となり一致する。)
よって、求める期待値は である。
別解
を 個の相異なる数に対する比較回数の期待値とする。。
のとき、ピボットが小さい方から 番目()である確率は で、比較 回のあと、大きさ と の組に分かれる。よって
。
。
。
。
検算: 個の数を大きさ順に とすると、 の組が比較される確率は 。差 の組は 組で確率 、差 の組は 組で確率 、差 の組は 組で確率 。合計 。一致する。