資料結構系列 - 圖的遍歷
與樹類似,遍歷也是圖的一種重要的操作,圖的遍歷是訪問圖中每個頂點僅被訪問一次的操作。圖的遍歷方式主要有兩種:深度優先遍歷和廣度優先遍歷。本節的主要學習內容包括圖的深度優先遍歷、圖的廣度優先遍歷。
1. 圖的深度優先遍歷
深度優先遍歷可定義如下:首先訪問出發點v,並將其標記為已訪問過;然後依次從v出發搜尋v的每個鄰接點w。若w未曾訪問過,則已w為心的出發點繼續進行深度優先遍歷,直至圖中所有和源點v有路徑相通的頂點均已被訪問為止。若此時圖中仍有未訪問的頂點,則另選一個尚未訪問的頂點為新的源點重複上述過程,直至圖中所有的頂點均已被訪問為止。
深度優先遍歷採用的搜尋方法的特點是儘可能先對縱深方向進行搜尋。這種搜尋方法稱為深度優先搜尋(Depth-first Search)。相應的,用次方法遍歷圖就很自然地稱之為圖的深度優先遍歷。
2. 圖的廣度優先遍歷

廣度優先遍歷可定義如下:首先訪問出發點v,接著依次訪問v的所有鄰接點w1、w2......wt,然後依次訪問w1、w2......wt鄰接的所有未曾訪問過的頂點。以此類推,直至圖中所有和源點v有路徑相通的頂點都已訪問到為止。此時從v開始的搜尋過程結束。
廣度優先採用的搜尋方法的特點是儘可能先對橫向進行搜尋,故稱其為廣度優先搜尋(Breadth-first Search)。相應的遍歷也自然稱為廣度優先遍歷。