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

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

難易度 1教科書の例題レベル大学数学 アルゴリズムと計算量

互いに異なる 個の数が入った配列を、次の乱択クイックソートで小さい順に並べる。

  • 並べる数が 個または 個のときは、何もせずに終わる(比較は行わない)。
  • 並べる数が 個()のときは、その 個の中からピボットを 個、等確率 で選ぶ。ピボットを残りの 個の数とそれぞれ 回ずつ比較し、ピボットより小さい数の組と大きい数の組に分ける。そのあと、それぞれの組に同じ手順を行う。

ピボットの選択は毎回ほかの選択と独立に行うものとする。数どうしの比較は上の「ピボットと残りの数との比較」だけで行われるとき、 個の数を並べ終えるまでに行われる比較の回数の期待値を求めよ。

この問題で使うもの

この問題を解けるようになるまで(64 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 樹形図で数え上げる
  2. 積の法則と和の法則
  3. 和の法則・積の法則と樹形図
  4. 順列・円順列・重複順列
  5. 組合せ
  6. 確率の定義と和事象・余事象
  7. 期待値
  8. 確率変数と確率分布
  9. 平均と合計
  10. 平均値・中央値・最頻値
  11. 代表値(平均値・中央値・最頻値)
  12. 分散と標準偏差
  13. 変量の変換と平均・分散
  14. 確率変数の期待値・分散と
  15. 確率変数の和と積(独立な場合)
  16. 指示変数と期待値の線形性
  17. 分数のたし算・ひき算
  18. 小数の四則計算
  19. 正負の数の加法・減法
  20. 分数のかけ算・わり算
  21. 四則の混じった計算の順序
  22. 正負の数の乗除・累乗と四則混合
  23. 分配法則を使った計算のくふう
  24. 文字式の計算(同類項・分配法則)
  25. 乗法公式による展開
  26. 因数分解
  27. 3 次式までの展開と因数分解
  28. 微分係数と導関数の定義
  29. 多項式の微分
  30. 多項式の不定積分
  31. 等間隔にならんだ数の和
  32. 等差・等比数列の和と Σ
  33. 数列の極限
  34. 関数の極限
  35. 積と商の微分
  36. 合成関数の微分
  37. 円の周の長さと面積
  38. おうぎ形の弧の長さと面積
  39. 弧の長さからおうぎ形の中心角と面積を求める
  40. 三角形・四角形の面積
  41. 約数の見つけ方
  42. 素因数分解と約数の個数
  43. 平方根の意味と根号の簡単化
  44. 三平方の定理
  45. 特別な直角三角形の辺の比
  46. 弧度法と単位円による三角関数
  47. の極限
  48. 加法定理と 2 倍角・半角・積和の公式
  49. 三角関数の導関数
  50. 根号の乗除と加減
  51. 指数の拡張と指数関数
  52. 対数の定義と性質
  53. 自然対数の底
  54. 指数関数・対数関数の導関数
  55. 基本的な関数の不定積分
  56. 置換積分
  57. 部分積分
  58. 定積分の計算
  59. 定積分の置換・部分積分と偶関数・奇関数
  60. 重積分と累次積分
  61. 同時分布・周辺分布と独立性
  62. 条件付き確率と乗法定理
  63. 条件付き分布と全期待値の公式
  64. 乱択クイックソート・乱択選択の期待比較回数

ヒント

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

ヒント 1

「乱択クイックソートの期待比較回数」の技能を使う。ピボットが何番目に小さい数かで場合分けし、全期待値の公式で 個のときの期待値 の漸化式を立てる。

ヒント 2

ピボットが小さい方から 番目のとき、比較は 回行われ、小さい組 個と大きい組 個が残る。これより 、 となる。

ヒント 3

、 である。これらを に代入する。

答えと解説

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

個の数を並べるときの比較回数の期待値を とする。 個・ 個のときは比較しないので である。

漸化式を立てる(全期待値の公式)

個のとき、ピボットが小さい方から 番目()である確率はそれぞれ である。ピボットが 番目のとき、まず 回の比較を行い、小さい組に 個、大きい組に 個が入る。そのあとの比較回数の期待値は である(各組の中でのピボット選びも等確率なので、同じ が使える)。したがって、ピボットの順位で場合分けして全期待値の公式を使うと

となる( と はどちらも を 回ずつ動くので和は )。

小さい から順に計算する

:

:

:

(確認: は、ピボットが中央の数なら比較 回で終わり、端の数なら 回のあと残り 個で 回、合計 回なので となり一致する。)

よって、求める期待値は である。

別解

を 個の相異なる数に対する比較回数の期待値とする。。
のとき、ピボットが小さい方から 番目()である確率は で、比較 回のあと、大きさ と の組に分かれる。よって
。

。
。
。

検算: 個の数を大きさ順に とすると、 の組が比較される確率は 。差 の組は 組で確率 、差 の組は 組で確率 、差 の組は 組で確率 。合計 。一致する。

この問題の確認

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

間違いを報告する

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

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

関連する問題