首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 資料結構 - 非連通圖遍歷實作 (6)

     編輯:關於C語言

8.3.3 非連通圖遍歷

前文 DFS/BFS 僅適用連通圖。非連通圖需從每個連通分量選擇起始點分別遍歷,才能訪問所有頂點。

非連通圖示意

修改後的遍歷方法

public void DFSTraverse()
{
    InitVisited();
    foreach (Vertex<T> v in items)
        if (!v.visited) DFS(v);
}

public void BFSTraverse()
{
    InitVisited();
    foreach (Vertex<T> v in items)
        if (!v.visited) BFS(v);
}

外層迴圈遍歷所有頂點,若未訪問則啟動對應遍歷,確保覆蓋所有連通分量。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved