問題を解く類として研究されているアルゴリズムの多くは探索アルゴリズムである。ある問題の考えられるあらゆる解の集合を探索空間と呼ぶ。力まかせ探索や素朴な(知識を用いない)探索アルゴリズムは、探索空間を探索する手法としては最も単純で直観的である。一方、知識を用いた探索アルゴリズムはヒューリスティクスを使って探索空間の構造に関する知識を利用し、探索にかかる時間を削減しようとする。知識を用いない探索.知識を用いない探索()アルゴリズムは、その問題の性質を考慮しない手法である。そのため汎用的に実装可能であり、抽象化のおかげで幅広い問題に同じ実装を適用可能である。問題は、探索空間が一般に非常に大きいため、問題が小さいものでもそれなりの時間がかかる点である。処理を高速化するため、知識を用いた探索だけを行う場合がある。リスト探索.リスト探索()アルゴリズムは、おそらく最も基本的な探索アルゴリズムである。その目的は、リストから何らかのキーを持つ要素を探すことである。計算機科学では最もよく研究されている分野であり、それらのアルゴリズムの計算量もよく研究されている。グローバーのアルゴリズムは量子コンピュータ用アルゴリズムで、ソートされていないリストでの線型探索に対して二乗の性能向上をもたらす。しかし、量子コンピュータはまだ実用化されていない。文字列探索.文字列内のパターンを探索する。接尾辞木などのデータ構造で効率化することもある。複数のファイルにまたがる物を全文検索という。木探索・グラフ探索.木探索・グラフ探索共通グラフ探索固有グラフ理論の問題の多くは、グラフ探索アルゴリズムで解くことができる。いくつかの物は木探索アルゴリズムを拡張したものと見ることもできる。知識を用いた探索.知識を用いた探索()では、問題に固有のヒューリスティクス(評価関数)を補助として使う。良いヒューリスティックを使えば、探索は劇的に改善される。メタヒューリスティクス.汎用的に使えるヒューリスティクスをメタヒューリスティクスという。連想配列.問題に関する知識に基づいてハッシュ関数を定義したハッシュテーブルは知識を用いたリスト探索アルゴリズムである。敵対探索.