第五章:圖(圖的基本知識)
1.圖的基本概念
圖
圖G由頂點集V和邊集E組成,記爲G=(V,E),其中V(G)表示圖G中頂點的有限非空集;E(G)表示圖G中頂點之間的關係(邊)集合
|V| 表示圖G中頂點的個數,也稱圖G的階;|E|表示圖G中邊的條數(| |代表絕對值)
注意
:線性表、樹都可以爲空,但是圖不能爲空
2.無向圖&有向圖
上面我們講解的圖,就是一個無向圖,它的邊集使用的圓括號組成的一個集合,爲什麼使用的圓括號?其實這樣的圓括號表示的就是無向邊。
無向邊
:表示這個邊是沒有方向的,它並不區分起始和終止,所以我們可以使用這樣的無序對(V,W) = (W,V)
來表示,也可以說V,W互爲鄰接點
無向圖
:在該圖中所有的邊都是無向邊
有向圖
:在該圖中所有的邊都是有向邊
有向邊
:該邊是有方向的,它區分起始位置和終止位置,V------->W,我們也稱這樣有向邊爲弧
,稱起始位置爲弧頭,終止位置爲弧尾。我們使用有序對<V,W>
來表示,這時候就要區分<V,W>和<W,V>了,我們也稱V鄰接到W或W鄰接自V
3.簡單圖&多重圖
簡單圖
:無重複邊,或不存在節點到自身的邊。
多重圖
:存在重複的邊,或存在結點到自身的邊。
注意
:下面的圖雖然出現了A指向B,B指向A,但這不是重複的邊,不是多重圖,我們在上面講有向圖的時候講到<A,B>和<B,A>是代表不同的邊的,所以它不是多重圖。
4.完全圖
完全圖
:分爲無向完全圖
和有向完全圖
無向完全圖
:
- 任意兩個頂點之間都存在邊
- n個頂點有 n(n-1)/2個邊
有向完全圖
:
- 任意兩個頂點之間都存方向相反的在弧
- n個頂點有 n(n-1)個邊
5.子圖
設有兩個圖 G=(V,E)
和 G'=(V',E')
,若 V‘
是 V
的子集,且 E’
是 E
的子集,則稱 G‘
爲 G
的子圖,且
若 V(G) = V(G')
則稱G'
爲G
的生成子圖
6.無向圖&有向圖
無向圖
:只有連通
:若從頂點V到頂點W有路徑
存在,則稱V和W是連通
連通圖
:任意兩個結點都是連通的
有向圖
:只有強連圖
:若從頂點V到頂點W 和 從頂點W到頂點V都有路徑
存在,則稱V和W是強連通
強連通圖
:任意兩個結點都是強連通的
n個頂點的連通圖(強連通圖)最少有多少條邊?
連通圖:n-1 【某一個頂點與剩餘的每一個頂點(n-1)有一條邊】
強連通圖:n
無向圖的連通分量
:極大連通子圖
有向圖的強連通分量
:極大強連通子圖
對於G的一個(強)連通子圖G'
·,如果不存在G
的另一個(強)連通子圖G"
,使得G屬於G"
,則稱G'
爲G
的(強)連通分量(就是該連通分量一定是最大的那個,不存在另外的連通子圖或者強連通子圖能夠把它包含起來,即保證他是連通的或者強連通的情況下能夠包含更多的頂點和邊)
我們看幾個例子:找出無向圖立的連通分量
首先畫出它的幾個連通子圖,找出連通分量(極大連通子圖)
我們可以看出下面兩個是連通分量(極大連通子圖),因爲其他的連通子圖,都不能包含他們。
找出有向圖立的連通分量
上面的無向圖有兩個連通分量,而有向圖只有一個連通分量。其實我們可以得出一個結論
:如果一個圖他是連通圖或者強連通圖,那個它的連通分量或強連通分量就是他自己,而如果一個圖不是連通圖或者強連通圖,那麼它的連通分量或者強連通分量則會有許多個。
7.生成樹、生成森林
極小連通子圖
:連通子圖且包含的邊最少
在滿足連通的情況下達到邊最少
生成樹
:連通圖包含全部頂點的一個極小連通子圖
首先原圖一定是一個連通通,然後包含全部頂點的一個極小連通子圖
n個頂點的圖的生成樹有n-1條
(連通圖只能生成生成樹,非連通圖只能生成生成森林)
生成森林
:非連通圖所有連通分量的生成樹組成森林
8.頂點的度
頂點的度
:以該頂點爲一個斷點的邊的數目
無向圖:頂點V的度以V爲斷點邊的個數記爲TD(V)
n個頂點,e條邊的無向圖中度的總數爲:2e
有向圖:
- 出度:以V爲起點的有向邊的條數,記作 OD(V)
- 入度:以V爲終點的有向邊的條數,記作 ID(V)
n個頂點,e條邊的有向圖中出度,入度總數分別爲:e:
9.網
爲邊賦予權重(在實際情況中可能是花費時間等)
10.稠密圖&稀疏圖
稀疏稠密的界定:|E|<|V|log|V|
當變數小於結點數乘以log結點數的時候稱爲稀疏圖
11.有向樹
有向樹
:一個頂點的入度爲0、其餘頂點的入度均爲1的有向圖
12.路徑
路徑
:途中頂點V到頂點W的頂點序列,序列中頂點不重複的路徑稱爲簡單路徑
路徑長度
:路徑上邊的數目,若該路徑最短則稱其爲距離
迴路
:第一個頂點和最後一個頂點相同的路徑(環狀結構)
關於數據結構的知識公衆號 理木客同步更新中,下次將會講解:圖的存儲及基本操作,期待大家的關注