1. 程式人生 > >資料結構之圖學習筆記

資料結構之圖學習筆記

一、圖的定義:

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

    a.線性表中的資料元素我們稱為元素,樹中資料元素稱為節點,而圖中的資料元素我們稱作頂點(Vertex)

    b.圖中任意兩個頂點之間都可能有關係,頂點之間的邏輯關係用邊來表示,邊集可以是非空的。

1.無向邊:

    若頂點Vi到Vj之間的邊沒有關係,則稱這條邊為無向邊(Edge),用無序偶對(Vi,Vj)來表示。如果圖中任意兩個頂點之間的邊都是無向邊,則稱該圖為無向圖。

    在無向圖中,如果任意兩個頂點之間都存在邊,則稱該圖為無向完全圖。含有n個頂點的無向完全圖有 \frac{n*(n-1))}{2} 條邊。

2.有向邊:

    若從頂點Vi到Vj的邊有方向,則稱這條邊為有向邊,也稱為弧(Arc)。用有序偶<Vi,Vj>來表示,Vi稱為弧尾(Taill),Vj稱為弧頭(Head).如果圖中任意兩個頂點之間的邊都是有向邊,則稱該圖為有向圖。

    在有向圖中,如果任意兩個頂點之間都存在方向互為相反的兩條弧,則稱該圖為有向完全圖。含有n個頂點的有向完全圖有 n*(n-1) 條邊。

注意無向邊用小括號 “()”,而有向邊則用尖括號 “<>”表示。

3.圖的頂點與邊間的關係

a.對於無向圖 G=(V,{E}),如果變(V,V ’ )\in E,則稱頂點V與V ’ 互為鄰接點(Adjacent),即V和V ’ 相鄰接。邊(V,V ’)依附與頂點V和V ’ ,或者說(V,V ’)相關聯。頂點V的度(Degree)是和V相關聯的邊的數目。

b.對於有向圖G=(V,{E}),如果弧<V,V ’> \in E,則稱頂點V鄰接到頂點V ’ ,頂點V ’ 鄰接自頂點V。弧<V,V ’>和頂點V,V ’ 相關聯。以頂點V為頭的弧的數目稱為V的入度;以V為尾的弧的數目稱為V的出度;

c.路徑長度是路徑上的邊或弧的數目。

d.第一個頂點到最後一個頂點相同的路徑稱為迴路或環。序列中頂點不重複出現的路徑稱為簡單路徑。除了第一個頂點和最後一個頂點之外,其餘頂點不重複出現的迴路,稱為簡單迴路或簡單環。