院試の勉強
これからは、自分が問題を解いていて「ん?」ってなったところをピックアップしてメモとして書き留めて行くことにする。
今回はこれ。
個の異なる整数の最小値を求めるのに必要な比較回数の最小値をと表す。このとき、を証明するために示さなければならないことを述べ、を証明せよ。
問題自体は難しくなく、異なる整数から最小値を求める際の比較回数の最小は、最低でも整数の個数個よりも少ない回数の比較を行う必要があることを証明するだけである。
比較回数が最小のとき、即ち回のときの整数の並びは、整数が昇順であるような状態で、先頭と番目〜番目の各値を比較することによって、比較回数()回が実現される。
もし、これを下回る回数、例えば、回で比較が出来るときは、個の整数の中に最小値となり得る候補が2つ存在するときである。これは問題の仮定と矛盾する為、はとなる。
最初はこんな感じかなって解いたんだが、後で疑問が生じた。最小値となり得る候補が2つ存在するからと言って、比較回数は減るものなのか?
いま、以下のような整数を考える。
このとき、である。まずはこのまま先頭と各要素を比較していく。比較の途中で(先頭(番目)の)と(番目の)の比較を行う。ここで比較を行った場合、比較の回数は結局()回になってしまうのではないだろうか?
うーん、この整数の列の個を全て同じ値にしたと仮定しても、結局先頭要素と各要素の大小関係を確認する必要はあると思うので()回の比較を行いそうなものだが…
分からないというか、僕の思い違いならそれで良いのだが、腑に落ちない…(正解は上記のものでおおよそ合ってました。)