圖的儲存方式有鄰接矩陣和鄰接表儲存兩種。由于鄰接表的實作需要用到抽象資料結構裡的連結清單,故稍微麻煩一些。C++自帶的STL可以友善的實作List,使算法的實作變得簡單起來

為了讓我們的算法更有普适性,我們将非連通圖也考慮在内。其實,要想周遊到類似于圖中5,6節點這種孤島節點,隻需要依次按編号周遊順序所有節點,如果某節點沒有通路(book數組标記值為0),則從該節點開始深度優先搜尋或廣度優先搜尋;等一次深搜或廣搜完畢後,繼續依次按照編号順序周遊節點,選擇從一個沒通路過的結點開始再次深搜或廣搜。。。如此知道把所有節點都周遊完。
1.圖抽象資料類型的聲明,除了構造函數和析構函數之外,提供3個對外接口,分别實作遞歸DFS,BFS和非遞歸DFS(用STL棧實作)
2.圖的構造函數和析構函數實作
3.圖的遞歸DFS調用接口及其實作函數
4.圖的BFS調用接口及其實作函數
5.圖的非遞歸DFS及其實作函數
6.主函數測試(注意,每次周遊後要把标記數組初始化為0)
數學是符号的藝術,音樂是上界的語言。