深さ優先探索
Depth-First Search
ふかさゆうせんたんさく
グラフや木構造において、できるだけ深い方向に進んでから戻る探索アルゴリズム。スタックを使って実装される。迷路の解法や経路探索などに使用される。DFSと略される。
アルゴリズムとプログラミング > アルゴリズム
関連キーワードの用語
FE幅優先探索
グラフや木構造において、現在のノードに隣接する全てのノードを先に探索してから次の深さに進む探索アルゴリズム。キューを使って実装される。最短経路の探索に適する。BFSと略される。
FE動的計画法
最適化問題を部分問題に分割し、各部分問題の解を記憶しながら全体の最適解を求めるアルゴリズム設計手法。重複する部分問題を再計算せずに済むため効率的。ナップサック問題や最短経路問題に応用される。
FE時間計算量
アルゴリズムの実行に必要な計算ステップ数を入力サイズの関数として表したもの。オーダー記法O(n)で表現され、O(1)、O(log n)、O(n)、O(n log n)、O(n²)などがある。アルゴリズムの効率を評価する基本指標。
FEバブルソート
隣接する要素を比較して交換を繰り返すことでデータを整列するアルゴリズム。平均・最悪計算量ともにO(n²)で効率は良くないが、アルゴリズムが単純で理解しやすい。安定ソート。
FE選択ソート
未整列部分から最小値(または最大値)を見つけて先頭に移動する操作を繰り返す整列アルゴリズム。計算量はO(n²)で、交換回数が少ないがデータ比較は多い。不安定ソート。
FE挿入ソート
未整列部分の先頭要素を整列済み部分の適切な位置に挿入する操作を繰り返す整列アルゴリズム。平均・最悪計算量はO(n²)だが、ほぼ整列済みのデータに対してはO(n)で高速。安定ソート。