資料結構之圖的遍歷和部分性質
阿新 • • 發佈:2019-01-24
無向圖和有向圖
1、無向圖中,任意兩個頂點之間都存在邊的話,就是無向完全圖。
含有n個頂點的無向完全圖有
有向圖中,若任意兩個頂點之間都存在方向互為相反的有向邊,則就是有向完全圖。
含有n個頂點的有向完全圖有
2、帶權的圖常稱為網。
圖的遍歷
1、深度優先遍歷(deep-first-search,DFS):實際上是一種遞迴,按照某一種規則,比如一直訪問當前頂點的右頂點,依次遍歷,直到回到出發點;若圖中尚有頂點未被訪問到,就選圖中一個未被訪問的頂點作為起點,重複上述過程,直至圖中所有頂點都被訪問到。
對於鄰接矩陣儲存結構的圖,要遍歷一個n節點e條邊的圖來說,要查詢每個頂點的鄰接點需要訪問矩陣中所有元素,因此時間複雜度是 (n2)
對於用鄰接表儲存結構的圖,找鄰接點所需的時間取決於頂點和邊的數量,時間複雜度是
2、廣度優先遍歷(breadth-first-search,BFS):圖的廣度優先遍歷類似於樹的層序遍歷。
圖的深度優先遍歷和廣度優先遍歷在時間複雜度上是相同的,不同之處僅僅在於對頂點的訪問順序不同。
深度優先遍歷更適用於目標比較明確,以找到目標為目的的情況;廣度優先遍歷更適合在不斷擴大遍歷範圍時找到相對最優解的情況。