アルゴリズムの紹介:Doがレンガの壁をバックに見えない----深さ優先探索アルゴリズム(DFS)がヒットしません
アルゴリズムの紹介
DFSアルゴリズムについて
わずかに
DFSアルゴリズムの考え
- 次いで、バック頂点に、全く未訪問の頂点が存在しない場合、他の頂点へのテストアクセスに進み、まず、頂点を開始頂点として訪問されていない、現在の頂点の縁部に沿って未訪問の頂点に行きます全ての頂点が訪問されるまで。
すべての頂点がこれまでに訪問されるまで、はっきりと、枝に沿って深さ優先探索は最後まで横断し、お互いに沿って、その後再び同様のトラバース。 - DFSを理解するための鍵:DFSは「瞬間をどうするか」「次のステップでは行うこと」と、「何瞬間を行うには」を解決することであるとは同じです
- 実装方法は、一般的に自分自身を再帰的に呼び出します
DFSアルゴリズムモデル
void dfs(int step){
//判断边界
//满足条件则返回
//尝试每一种可能
for(int i=1;i<n;i++){
//继续下一步
dfs(step+1)
}
//返回
}
アルゴリズムのDFS時間の複雑さ:
1.実装の方法は再帰的ですが、時間の複雑さがあることに注意してくださいが。以下の下では、参考値です。
DFSアルゴリズム適用:
- 問題の完全な配列のシリーズとバリアント
- 迷路(図通信問題)高い複雑-----
- 独立したサブグラフの図番号(シード充填方法)
- グラフトラバーサル