數據結構之圖(基本概念,知識點)

代碼實現之前還是先讓我們來了解了解圖的一些基本概念(下一篇會附圖的代碼實現):

圖的定義

圖(graph)是由一些點(vertex)和這些點之間的連線(edge)所組成的;其中,點通常稱爲頂點(vertex),而點到點之間的連線通常稱之爲邊或者弧(edge)。通常記爲G=(V,E)。

無向邊:頂點a和b之間的邊沒有方向    如:(a,b)或(b,a) ,這兩種表示指的是同一條邊。

有向邊:頂點a和b之間的邊有方向   如<a,b>和 <b,a>  ,指的是兩個不同的邊。

無向圖:任意兩個頂點之間的邊均是無向邊   如圖(1)

有向圖:任意兩個頂點之間的邊都是有向邊   如圖(2)

鄰接:兩個頂點之間的一種關係,如圖包含(u,v),則稱頂點v和頂點u鄰接。

關聯:是指頂點和邊之間的關係。在有向圖中,邊(u,v)從頂點u開始關聯到v,或者相反,從頂點v開始關聯到u。在無向圖中,邊(u,v)與頂點u和v相關聯。

完全圖:每個頂點都與其他頂點相鄰接的圖。

度(Degree):頂點 v 的度是和 v 相關聯的邊的數目,記爲TD(v)。
入度:以 v 爲頭的邊的數目,記爲ID(v)
出度:以 v 爲尾的邊的數目,記爲OD(v)

權(Weight):與圖的邊相關的數字叫做權,權常用來表示圖中頂點間的距離或者耗費。(帶權的圖通常稱爲網)

路徑:依次遍歷頂點序列之間的邊所形成的軌跡。沒有重複頂點的路徑稱爲簡單路徑。路徑的長度是路徑上的邊或弧的數目。

:是指路徑包含相同的頂點兩次或兩次以上。也就是說,在有向圖的一條路徑中,如果從某頂點出發,最後能夠返回該頂點,則該路徑是環。除了第一個頂點和最後一個頂點之外,其餘頂點不重複出現的迴路稱爲簡單環或簡單迴路。

連通性

對於無向圖而言,如果它的每個頂點都能通過某條路徑到達其他頂點,那麼我們稱它爲連通的。如果該條件在有向圖中同樣成立,則稱該圖是強連通。儘管無向圖可能不是連通的,但它扔然可能包含連通的部分,這部分分支爲連通分支。如果有向圖中只有部分是強連通的,則該部分稱爲強連通分支。
 

生成樹

一個連通圖的生成樹是一個極小的連通子圖,它含有圖中全部的頂點,但只有足以構成一棵樹的n-1條邊。

最小生成樹

我們把構造連通網的最小權生成樹稱爲最小生成樹。(一棵生成樹的權就是樹上各邊的權之和)

 

參考博文:http://www.javashuo.com/article/p-hrcnphyb-gp.html