數據結構學習-【圖】

 

 

一、圖的定

在說圖的定義之前 先要說明一下:

線性表中我們把數據元素叫做元素,樹中數據元素叫做結點,在圖中數據元素,我們稱之爲頂點。

 

下面說一下圖的定義:

圖是由頂點的有窮非空集合和頂點之間的集合組成,通常表示爲:G(V,E),其中,G表示一個圖,V是圖G中頂點的集合,E是圖G中邊的集合。

 

注意:圖中的 頂點集合不允許爲空,但是邊集合允許爲空。

各種圖的定義:

1.無向圖

兩個頂點之前的邊沒有方向,稱爲無向邊,改圖中所有的邊都是由無向邊組成的圖,叫做無向圖。

該圖的表示法:

G1(V1,{E1})

頂點集合:V1={A,B,C,D}; 邊集合:E1{(A,B),(B,C),(C,D),(D,A),(A,C)}

 

 

2.有向圖

改圖所有的邊都是由有向邊構成

有向邊又叫弧,例如下圖頂點B到A的邊就有方向,則稱這條邊有方向,也稱爲弧,B是弧頭,A稱弧尾,寫成<A,B>

 

改圖的表示爲:G2=(V2,{E2})

頂點集合:V2={A,B,C,D}

弧集合:E2={<A,D>,<B,A>,<C,A>,<B,C>}

 

在無向圖中,如果任意兩個頂點之間的都存在邊,則稱該圖爲無向完全圖。

共有n(n-1)/2條邊

在有向圖中,如果任意兩個頂點之間都存在方向互爲相反的兩條弧,則稱改圖爲有向完全圖。

共有n(n-1)條邊

 

 

有些圖的邊或弧具有與它相關的數字,這種與圖的邊或弧相關的數叫做權。這些帶權的圖通常叫做網。

二、圖的存儲結構

1.圖的鄰接矩陣

是用兩個數組來表示,一個一維數組來存儲圖的頂點信息,一個二維數組存儲圖中的邊或弧的信息。

第一個是無向圖

第二個是有向圖

第三個是帶有權值的有向圖

 

鄰接表

定義:數組與鏈表相結合的存儲方法叫做鄰接表。

無向圖的鄰接表

有向圖的逆鄰接表

 

 

 

 

 

發佈了111 篇原創文章 · 獲贊 31 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章