算法與數據結構 圖論 基本理論知識

實際問題舉例引入
生活中有地圖,交通圖,網絡圖,架構圖等,都屬於圖論的內容。例如鄉村分佈圖如下:
在這裏插入圖片描述
生活中一個實際問題就是如果要從一個村子走到另一個村子,怎麼走最短,如何一次把所有村子走且只走一遍。就涉及到最短路徑問題和圖的遍歷問題。 所以生活中圖的例子是無處不在的,問題和需求也是無處不在的。

圖的基本概念

圖是表示任意兩個數據點之間某個特定關係的數據結構。在圖中任意兩個節點之間的關係可以是任意的。可以相連可以不相連,可以是有向的和無向的。

定義 G=(V, E)

圖(graph) G=(V, E)由頂點(vertex) 的集V和邊(edge) 的集E組成。每一條邊就是一個點對(v, w),其中v, w∈V。有時也把邊稱作弧(arc)。 如果點對是有序的,那麼圖就叫作有向的圖。有向的圖有時也叫作有向圖(digraph)。頂點v和w鄰接(adjacent) 當且僅當(v, w)∈E。在一個具。有邊(v, w)從而具有邊(w, v)的無向圖中,w和v鄰接且也和w鄰接。有時候邊還具有第三種成分,稱作權(weight) 或值(cost)。

在圖中,至少得有一個頂點,但邊集可以爲空

圖的相關術語

無向圖: 圖中各頂點之間的邊沒有方向,即頂點ij之間是互通的。<v,w>表示v和w可以互相到達。
有向圖:有向圖中頂點之間的邊是由方向的,<v,w>表示可以從v到w,但不一定可以從w到v
簡單圖:圖中不存在重複的邊或者形成迴路的邊。
鄰接點:如果(v,w)是無向圖中任意一條邊,那麼稱v和w互爲鄰接點;如果(v,w)是有向圖中任意一條邊,那麼稱起點v鄰接到終點w,也稱終點w鄰接自起點v。
路徑、簡單路徑、迴路、無環路: 一個兩兩有邊相連的頂點序列。
無向完全圖:在一個無向圖中,如果任意兩個頂點都有一條邊相連接,則稱該圖爲無向完全圖。
有向完全圖:在一個有向圖中,如果任意兩頂點之間都由方向互爲相反的兩條弧相連接,則該圖爲有向完全圖。
頂點的度:出度和入度。出度是指以頂點v爲起點的邊的條數。入度是以頂點v爲終點的邊的條數。
稠密圖: 若一個圖的邊數接近完全圖的邊數,稱這樣的圖爲稠密圖。
稀疏圖: 邊數極少的圖。
權: 邊附帶的信息稱爲權。在地圖中的邊通常附帶有距離信息。
網圖: 邊上 帶權的圖。 無向網圖 有向網圖。
子圖: 對於圖G=(V,E)和G’=(V’,E’),若滿足V’是V的子集,並且E’是E的子集,則稱圖G’是G的一個子圖。
連通圖連通分量:在無向圖中,如果從一個頂點vi,到另一個頂點vj,(i≠j)有路徑,則稱頂點vi和vj,是連通的。如果圖中任意兩頂點都是連通的,則稱該圖是連通圖。無向圖的極大連通子圖稱爲連通分量。連通分量的概念包
含以下4個要點:
●子圖:連通分量應該是原圖的子圖;
●連通:連通分量本身應該是連通的;
●極大頂點數:連通子圖含有極大頂點數,即再加入其他頂點將會導致子圖不連通;
●極大邊數:具有極大頂點數的連通子圖包含依附於這些頂點的所有邊。
在這裏插入圖片描述
如圖所示,圖中無向圖G3是一個非連通圖,因爲A和E沒有連通。G3有兩個連通分量,就是圖(b)和圖©,首先它們是G3的子圖,並且連通。再加入圖G3的任意一個頂點就不連通了,所以滿足極大頂點數,同時也滿足極大邊數。 而(d)就不是連通分量,因爲不滿足極大頂點數。
強連通圖 、 強連通分量:對於有向圖來說,若圖中任意一對頂點vi和vj,(i≠j)均既有從vi到vj的路徑,也有從vj到vi的路徑,則稱該有向圖是強連通圖。有向圖的極大強連通子圖稱爲強連通分量。
強連通只對於有向圖而言,無向連通圖一定是強連通圖。並且有向強連通圖中每個頂點必須得有入度和出度。
在這裏插入圖片描述
G4是有向非強連通圖,因爲D頂點只有入度沒有出度。 有兩個強連通分量,如圖(b)©。而(d)不是圖G4的子圖,同時也不是強連通的。
生成樹: 所謂連通圖G的生成樹,是G的包含其全部n個頂點的一個極小連通子圖。它必定包含且僅包含G的n-1條邊。圖6.8中連通圖G,有4個頂點,任何包含這全部4個頂點的有3條邊的連通子圖都是G的生成樹。顯然,生成樹有可能不唯一
生成樹滿足下面4個條件之一:

  1. G有n-1條邊,且沒有環。 如果有環 則必定不是連通圖。
  2. G有n-1條邊,且是連通的,即沒有環。
  3. G中的每一對頂點有且僅有一條路徑相連。 兩個頂點之間的路徑唯一。
  4. G是連通的,刪除任意一邊之後不連通。
    在這裏插入圖片描述
    如圖中(b)©(d)都是圖(a)的生成樹。
    生成森林:在非連通圖中,由於每個連通分量都是一個極小連通子圖,即一棵生成樹可以對應-一個連通分量。對應各個連通分量的各棵生成樹就組成了一個圖的生成森林。對無向圖而言,一個圖的生成森林中樹的數量就等於它的連通分量數。 對有向圖來說,一個強連通圖可以得到對應的生成樹,且可能不唯一。但是,非強連通圖可能只需用一顆生成樹與之對應。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章