天天看點

圖的周遊 DFS(深度優先)

void DFS(u){
  vis[u]=true;//設定u已經被通路
  for(從u出發能到達的所有頂點v){//枚舉從u出發可以到達的所有頂點v
    if(vis[v]==false){//若v未被通路
      DFS(v);//遞歸通路v
    }
  }  
}

void DFSTrave(G){//周遊圖
  for(G的所有頂點u){//對G的所有頂點u
    if(vis[u]==false){//如果u未被通路
      DFS(u);
    }
  }
}