1. 程式人生 > >資料結構之圖的遍歷和部分性質

資料結構之圖的遍歷和部分性質

無向圖和有向圖

1、無向圖中,任意兩個頂點之間都存在邊的話,就是無向完全圖。
  含有n個頂點的無向完全圖有n×(n1)2條邊。
  有向圖中,若任意兩個頂點之間都存在方向互為相反的有向邊,則就是有向完全圖。
  含有n個頂點的有向完全圖有n×(n1)條有向邊。
2、帶權的圖常稱為網。

圖的遍歷

1、深度優先遍歷(deep-first-search,DFS):實際上是一種遞迴,按照某一種規則,比如一直訪問當前頂點的右頂點,依次遍歷,直到回到出發點;若圖中尚有頂點未被訪問到,就選圖中一個未被訪問的頂點作為起點,重複上述過程,直至圖中所有頂點都被訪問到。
  對於鄰接矩陣儲存結構的圖,要遍歷一個n節點e條邊的圖來說,要查詢每個頂點的鄰接點需要訪問矩陣中所有元素,因此時間複雜度是O

(n2)
  對於用鄰接表儲存結構的圖,找鄰接點所需的時間取決於頂點和邊的數量,時間複雜度是O(n+e)
2、廣度優先遍歷(breadth-first-search,BFS):圖的廣度優先遍歷類似於樹的層序遍歷。

圖的深度優先遍歷和廣度優先遍歷在時間複雜度上是相同的,不同之處僅僅在於對頂點的訪問順序不同。
深度優先遍歷更適用於目標比較明確,以找到目標為目的的情況;廣度優先遍歷更適合在不斷擴大遍歷範圍時找到相對最優解的情況。