圖的定義:
圖在數據結構中是中一對多的關係,一般分爲無向圖與無向圖
常用 鄰接矩陣 或者 鄰接鏈表 來表示圖中結點的關係
⑴圖是由頂點集V和頂點間的關係集合E(邊的集合)組成的一種數據結構
⑵用二元組定義爲:G=(V,E)。
例如:
對於圖7-1所示的無向圖G1和有向圖G2,它們的數據結構可以描述爲:
G1=(V1,E1), 其中 V1={a,b,c,d},E1={(a,b),(a,c),(a,d),(b,d),(c,d)},
G2=(V2,E2),其中 V2={1,2,3}, E2={<1,2>,<1,3>,<2,3>,<3,1>}。
有向圖與無向圖
⑴在圖中,若用箭頭標明瞭邊是有方向性的,則稱這樣的圖爲有向圖,否則稱爲無向圖。
如圖7-1中:
①G1爲無向圖, ②G2 爲有向圖。
⑵在無向圖中:一條邊(x,y)與(y,x)表示的結果相同,用圓括號表示,
⑶在有向圖中:一條邊<x,y>與<y,x>表示的結果不相同,故用尖括號表示。<x,y>表示從頂點x發向頂點y的邊,x爲始點,y爲終點。
⑷有向邊也稱爲弧,x爲弧尾,y爲弧頭,則<x,y>表示爲一條弧, 而<y,x>表示y爲弧尾,x爲弧頭的另一條弧 。
完全圖/稠密圖/稀疏圖:
⑴具有n個頂點,n(n-1)/2條邊的圖,稱爲完全無向圖,
⑵具有n個頂點,n(n-1) 條弧的有向圖,稱爲完全有向圖。
⑶完全無向圖和完全有向圖都稱爲完全圖。
⑷對於一般無向圖,頂點數爲n,邊數爲e,則 0≤e ≤n(n-1)/2。
⑸對於一般有向圖,頂點數爲n,弧數爲e, 則 0≤e≤n(n-1) 。
⑹當一個圖接近完全圖時,則稱它爲稠密圖,
⑺當一個圖中含有較少的邊或弧時,則稱它爲稀疏圖。
度/出度/入度:
⑴在圖中,一個頂點依附的邊或弧的數目,稱爲該頂點的度。
⑵在有向圖中,一個頂點依附的弧頭數目,稱爲該頂點的入度。
⑶一個頂點依附的弧尾數目,稱爲該頂點的出度,某個頂點的入度和出度之和稱爲該頂點的度。
⑷若圖中有n個頂點,e條邊或弧,第i個頂點的度爲di,則有 e=1/2 * Σ(1<= i <= n, di)
子圖
⑴若有兩個圖G1和G2, G1=(V1,E1), G2=(V2,E2), 滿足如下條件:
V2⊆V1 ,E2⊆ E1,即V2爲V1的子集,E2爲E1的子集,則 稱圖G2爲圖G1的子圖。
權:
⑴在圖的邊或弧中給出相關的數,稱爲權。
⑵權可以代表一個頂點到另一個頂點的距離,耗費
等,帶權圖一般稱爲網。
一個圖由多個結點以及邊組成。
無向圖例子:
有向圖例子:
從上述例子中可以看出,一個圖表是由數個頂點和邊組成的。
其中,無向圖的邊是沒方向的,即兩個相連的頂點可以互相抵達。
而有向圖的邊是有方向的,即兩個相連的頂點,根據邊的方向,只能由一個頂點通向另一個頂點。(當然,如有向圖例子中的2和3,由於有兩個指向對方的方向,所以2和3是互通的。)
完全圖
連通圖:如果一個無向圖從每一個頂點到其他頂點都存在一條路徑,則稱該無向圖爲連通圖
強連通圖:具有這樣的性質的有向圖稱爲是強連通的,如果不是強連通的,
弱連通圖:它的基礎圖,即去掉弧上的方向所形成的的圖,是連通的,那麼該有向圖稱爲弱連通的
完全無向圖:具有n個頂點,並具有n(n - 1)/2 條邊的圖,稱爲完全無向圖(每個頂點到其他頂點都有邊),連通圖
完全有向圖:具有n個頂點,並且具有n(n - 1) 條邊的有向圖,稱爲完全有向圖(每個頂點到其他頂點都有相互兩條邊),強連通圖
完全圖:完全無向圖和完全有向圖都稱爲完全圖
鄰接矩陣
定義:
設無向圖G=(V,E)G=(V,E),其中頂點集V=v0,v1,v2,...,vnV=v1,v2,...,邊集E=e0,e1,e2,...,eεE=e1,e2,...,eε。用aijaij表示頂點vivi與頂點vjvj之間的邊數,可能取值爲0,1,2,…,稱所得矩陣A=A(G)=(aij)n×nA=A(G)=(aij)n×n爲圖G的鄰接矩陣
性質:
類似地,有向圖D的鄰接矩陣A(D)=(aij)n×nA(D)=(aij)n×n, aijaij表示從始點vivi到終點vjvj的有向邊的條數,其中vivi和vjvj爲D的頂點
示例,求圖所示簡單圖的鄰接矩陣?
解:根據定義,可求得該無向圖的鄰接矩陣爲
注:鄰接矩陣是描述圖的一種常用的矩陣表示。
關聯矩陣
定義:
設任意圖G=(V,E)G=(V,E),其中頂點集V=v1,v2,...,vnV=v1,v2,...,vn,邊集E=e1,e2,...,eεE=e1,e2,...,eε。用mijmij表示頂點vivi與邊ejej關聯的次數,可能取值爲0,1,2,…,稱所得矩陣M(G)=(mij)n×εM(G)=(mij)n×ε爲圖G的關聯矩陣
類似地,有向圖DD的關聯矩陣M(D)=(mij)n×εM(D)=(mij)n×ε的元素mi×jmi×j定義爲:
示例,求圖中有向圖的鄰接矩陣和關聯矩陣
解:根據定義,可求得該有向圖的鄰接矩陣:
關聯矩陣:
注:關聯矩陣是描述圖的另一種矩陣表示。
參考地址:
https://blog.csdn.net/Hanging_Gardens/article/details/55670356
https://blog.csdn.net/legendaryhaha/article/details/83049101