アルゴリズムの紹介:Doがレンガの壁をバックに見えない----深さ優先探索アルゴリズム(DFS)がヒットしません

アルゴリズムの紹介:Doがレンガの壁をバックに見えない----深さ優先探索アルゴリズム(DFS)がヒットしません

アルゴリズムの紹介

アルゴリズムの紹介

DFSアルゴリズムについて

わずかに

DFSアルゴリズムの考え

  1. 次いで、バック頂点に、全く未訪問の頂点が存在しない場合、他の頂点へのテストアクセスに進み、まず、頂点を開始頂点として訪問されていない、現在の頂点の縁部に沿って未訪問の頂点に行きます全ての頂点が訪問されるまで。
    すべての頂点がこれまでに訪問されるまで、はっきりと、枝に沿って深さ優先探索は最後まで横断し、お互いに沿って、その後再び同様のトラバース。
  2. DFSを理解するための鍵:DFSは「瞬間をどうするか」「次のステップでは行うこと」と、「何瞬間を行うには」を解決することであるとは同じです
  3. 実装方法は、一般的に自分自身を再帰的に呼び出します

DFSアルゴリズムモデル

  void dfs(int step){
      //判断边界
      //满足条件则返回

       //尝试每一种可能
      for(int i=1;i<n;i++){
           //继续下一步
           dfs(step+1)
      }
     //返回
 }

アルゴリズムのDFS時間の複雑さ:

1.実装の方法は再帰的ですが、時間の複雑さがあることに注意してくださいが。以下の下では、参考値です。
ここに画像を挿入説明

DFSアルゴリズム適用:

  1. 問題の完全な配列のシリーズとバリアント
  2. 迷路(図通信問題)高い複雑-----
  3. 独立したサブグラフの図番号(シード充填方法)
  4. グラフトラバーサル

具体的な説明

1.完全な配列のシリーズと問題の変種

問題のサンプルコードの完全な配列のシリーズ

2.迷路(図通信問題)

迷路(図通信の問題)

図独立したサブの図3の番号(シード充填方法)

独立した部分グラフの図番号

図4トラバーサル

グラフトラバーサル

公開された155元の記事 ウォン称賛15 ビュー160 000 +

おすすめ

転載: blog.csdn.net/wangdamingll/article/details/105298086
おすすめ