二分探索とは?
二分探索(2分探索)とは、ソートされたリストから特定の要素を効率的に探索するアルゴリズムです。このアルゴリズムは、最初に中央の値を見て、探している値が中央の値よりも大きいか小さいかを比較します。そして、探している値が中央の値よりも大きい場合は、中央の値よりも右側にある部分のリストに再帰的に探索を続けます。逆に、探している値が中央の値よりも小さい場合は、中央の値よりも左側にある部分のリストに再帰的に探索を続けます。この操作を繰り返すことにより、探している値を高速に見つけることができます。
アルゴリズムの基本概念を解説
二分探索は、以下のような手順で行われます。
- ソートされたリストを用意する。
- リストの中央の値を見る。
- 探している値が中央の値よりも大きい場合は、リストの右側の部分を対象に探索を再帰的に行う。
- 探している値が中央の値よりも小さい場合は、リストの左側の部分を対象に探索を再帰的に行う。
- 探している値が中央の値と一致した場合は、その位置を返す。
- 探している値がリストに存在しない場合は、その旨を返す。
このように、二分探索はソートされたリストを前提としたアルゴリズムです。そのため、リスト内の要素がソートされていない場合は、事前にソートする必要があります。
効率的なデータ検索法を紹介
二分探索は、探索対象のデータが大量にある場合に非常に効率的な方法です。なぜなら、二分探索はリストのサイズが2倍になるごとに操作回数が1回増えるため、探索対象が1,000件ある場合でも最大で10回程度の操作で探索が完了するからです。
また、二分探索はプログラムが比較的簡単に書けることも特徴のひとつです。のちに別の検索アルゴリズムと比較してみると、二分探索を使用したプログラムは短く、読みやすく、設計しやすいことがわかります。
以上のように、二分探索はソートされたリストから特定の要素を効率的に探索するアルゴリズムです。探索対象が大量にある場合や、プログラムの設計が簡単になる場合に、二分探索を活用してください。
参考記事
合わせて読みたい
【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版