アルゴリズムと計算量の問題
互いに異なる 個の実数 を、比較ソートで昇順に並べかえる。比較ソートとは、 つの要素の大小を比べる操作(結果は「」か「」の 通り)だけを用いて並べ方を決めるアルゴリズムのことである。
どの比較ソートも、最悪の場合には少なくとも 回の比較を行う。これは決定木の考え方から得られる下界である。この下界 の値を求めよ。ただし、 は 以上の最小の整数を表す。
この問題で使うもの
- ソート・探索の最悪比較回数(説明と入口の問題)
この問題を解けるようになるまで(17 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
「ソート・探索の最悪比較回数」の技能のうち、決定木による下界を使います。まず、決定木に必要な葉の数が何個かを考えましょう。
ヒント 2
比較 回で分岐は 通りなので、高さ の決定木の葉は高々 個です。葉の数は並び方の総数 以上でなければならないので、 を満たす最小の整数 を探します。
ヒント 3
です。 のべき乗 と の値を計算し、 がその間のどこに入るかを調べましょう。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
決定木による下界の求め方を、一歩ずつ確かめる。
手順 1: 葉の数を数える。
個の数は互いに異なるので、大小の並び方は 個の順列の数だけある。
どの並び方が入力されても正しく並べかえるには、決定木に少なくとも 個の葉(最終的な結論)が必要である。
手順 2: 高さと葉の数の関係を使う。
決定木では、 回比較するごとに分岐が 通りに分かれる。そのため、最悪比較回数(木の高さ)が の決定木には、葉が高々 個しかない。したがって、次が成り立つ必要がある。
手順 3: の範囲を調べる。
より、 である。
手順 4: 天井関数を求める。
は整数なので、 となる。よって
答えは である。
別解
である。 なので、 となる。より正確には より 、 より 。したがって 。
検算:決定木の葉の数は 以上必要で、深さ の二分木の葉は高々 個。 では で足りず、 では で足りる。よって下界は 。