見出し画像

Pythonでアルゴリズム「二分探索」:調べる範囲を半分に絞るを繰り返す

Pythonでアルゴリズムシリーズ、今回からは、探索アルゴリズム第2弾「二分探索」(バイナリーサーチ)をやってみましょう😆!「探索」というのは、「データから、見つけたい値がどこにあるのかを確認する」ことでしたね。

二分探索って何?

探索方法のなかでも、「二分探索」とは、探す範囲をどんどん半分にしながら、目標の値を絞り込んでいく探索方法です。

処理速度は、「線形探索」より早いです。ただ、データを事前に並べるというひと手間が発生します。

「イメージ湧きません…😑」

ですよね~。説明しますよ~😉。

探す範囲は、どんどん少なるなる

前提として、探すデータは事前に整列(昇順)に並べておいてください。

下準備として、次を行います。

・探す範囲のうちの真ん中にある値を抽出します。
・その真ん中の値と「目標の値」を比較します。

その上で、

・「目標の値」と同じなら、おめでとうございます🧡!値を見つけました!
・「目標の値」の方が大きいなら、真ん中の値の左側(より小さい値がある側)は検索対象から外します。(最初に戻る↑)
・「目標の値」の方が小さいなら、真ん中の値の右側(よい大きい値がある側)は検索対象から外します。(最初に戻る↑)

うーん、言葉だけではよく分からないですね。。。やっぱり絵にしようかな~。皆さんへのサービスです。絵にします!😉

はい、多少分かりやすくなりました!?それなら、私は果報者でござりまする~。

ということで、今日は「二分探索」の導入でした。まだまだ続きますよ~。

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。

この記事が気に入ったらサポートをしてみませんか?