この章の概要です。
この先の章では、探索アルゴリズムを扱います。探索アルゴリズムは、サーチアルゴリズムとも呼ばれます。
探索アルゴリズムは、条件を満たす解を探し出すアルゴリズムです。もっとも一般的なのは、配列📘のようなデータ📘の集まりの中から、特定の値をもった要素📘を探し出すタイプです。大抵のアルゴリズムの入門書に載っている、線形探索(第1章参照)や二分探索📘(第4章参照)と呼ばれるアルゴリズムが、これに当たります。
二分探索のようなアルゴリズムならば、多くのプログラミング言語📘で、標準ライブラリ📘などの形で用意されています。たとえば、C言語には bsearch関数があります。
そのため、アルゴリズムの詳細を知らなくても、単純な探索アルゴリズムを利用することは簡単にできます。しかし、アルゴリズムの特性を理解していないと、性能改善ができなかったり、うまく探索できない理由が分からなかったりするでしょう。
たとえば、ソート📘済みでない配列に対して bsearch関数を使うことできますが、正しい結果を得られる保証がありません。これは、二分探索は、対象のデータ列が整列済みであることを前提としているためです。
探索は、非常に応用範囲の広い分野です。翻訳を行うに当たっては辞書データベースのようなものを「探索」する必要があるでしょうし、複雑にはりめぐらされたネットワーク📘上の最短経路を探す行為も「探索」です。将棋のようなゲームで、次に採るべき最善の手を選び出すことにも「探索」の手法が関わってきます。「配列の中から値を探す」ことは、もっとも単純な「探索」の利用方法ですが、それがすべてではありません。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |