二分探索の比較回数

学習の目的

  • 1. 二分探索の比較回数

  • 2. 線形探索と二分探索の比較回数の違い

1. 二分探索の比較回数

二分探索は、探索範囲を半分ずつ狭めながら効率よくデータを探索する方法ですが、比較回数はどのくらいになるのでしょうか?

二分探索の比較回数は計算で求められます。

データ数nの二分探索の比較回数は次のような計算式で求められます。

最小比較回数 最大比較回数 平均比較回数
1 [log2n] + 1 log2n

 [ ] は小数点以下切り捨てを意味します。

log2n ってなんですか?見たことない。

私も初めて見ました。これは数式ですか?

log(ログ)は対数と呼ばれる計算で高校の数学で学習しますが、ここでは計算できる必要はありません。

この教材では、二分探索の最大比較回数と平均比較回数は他の計算で求めます。
ただし、logを使った計算式は公式なので覚えておくと試験対策になります。

二分探索の最大比較回数と平均比較回数は、logの計算を使わずに次の式に当てはめることで求めることができます。

   log2n ≒ 2x として計算できます。

2xを使った計算で、logで計算したときの近似値が求められます。

ここでは、二分探索の比較回数の計算は、logは使わず2のべき乗の計算で求めることとします。

例えば、データ数(n)が100の場合は、次のように求めます。

n=100のときの二分探索の平均比較回数と最大比較回数

2x ≦ n ≦ 2x+1

nが100なので計算式は次のようになります。

2x ≦ 100 ≦ 2x+1

ここで2のべき乗の値は次のとおりです。

21 22 23 24 25 26 27 28 29 210
2 4 8 16 32 64 128 256 512 1,024

ここで、条件を満たす計算式は次のようになります。

26 < 100 < 27
(64 < 100 < 128)

になるので、平均比較回数と最大比較回数は次のようになります。

最大比較回数:7

平均比較回数:6

これならできそう!

2のべき乗(累乗)を計算すればよいのですね。これなら簡単にできます!

データ数が500のとき、二分探索の平均比較回数と最大比較回数を求めてください。

平均比較回数

最大比較回数

2. 線形探索と二分探索の比較回数の違い

線形探索と二分探索ではどのくらい比較回数が異なるか表とグラフで比べてみましょう。

グラフは、データ数が増えたときに比較回数がどのくらい増えるか、線形探索と二分探索での増え方の違いを確認しましょう。

・平均比較回数の表とグラフ

データ数 線形探索 二分探索
20 10.5回 約4回
40 20.5回 約5回
60 30.5回 約5回
80 40.5回 約6回
100 50.5回 約6回

・最大比較回数の表とグラフ

データ数 線形探索 二分探索
20 20回 5回
40 40回 6回
60 60回 6回
80 80回 7回
100 100回 7回

線形探索のグラフの上がり方がすごい!

二分探索ってとっても効率が良いのですね。

グラフを見ると二分探索がいかに効率的にデータを探せるかわかりますね。

ただし、二分探索は「データが昇順(または降順)に整列されていないと行えない」というところも覚えておきましょう。

ポ イ ン ト

データが2倍になったとき、線形探索と二分探索の最大比較回数は次のように増えます。

探索法 データ数100のときの最大比較回数 データ数200のときの最大比較回数 説明
線形探索 100回 200回 データ数が2倍になれば最大比較回数は2倍になる
二分探索 7回 8回 データ数が2倍になれば最大比較回数は1回増える

※この再現版では提出は行いません(送信先は未接続です)

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる