數據結構c語言——掌握 ”圖“ 你所必需掌握的定義與概念

圖的定義:

圖(Graph) G由頂點集合V(G)和邊集合E(G)構成。
說明: 對於n個頂點的圖,對每個頂點連續編號,即頂點的編號爲0~n-1。通過編號唯一確定一個頂點。
在圖G中,如果代表邊的頂點對是無序的,則稱G爲 無向圖。用圓括號序偶表示無向邊
如果表示邊的頂點對是有序的,則稱G爲 有向圖。用尖括號序偶表示有向邊
在這裏插入圖片描述
在無向圖中,若對所有的<v,w>∈E(G) ,有<w,v>∈E(G) ,即E(G)是對稱,則用無序對(v,w) 表示v和w之間的一條邊(Edge),因此(v,w) 和(w,v)代表的是同一條邊。

例1: 設有有向圖G1和無向圖G2,形式化定義分別是:
在這裏插入圖片描述

G1=(V1 ,E1)
V1={a,b,c,d,e}
E1={<a,b>,<a,c>, <a,e>,<c,d>,<c,e> ,<d,a>,<d,b>,<e,d>}

G2=(V2 ,E2)
V2={a,b,c,d}
E2={(a,b), (a,c), (a,d), (b,d), (b,c), (c,d)}

圖的基本概念:

完全無向圖: 對於無向圖,若圖中頂點數爲n ,用e表示邊的數目,則 e ∈[0,n(n-1)/2] 。具有n(n-1)/2條邊的無向圖稱爲完全無向圖

是怎麼得來的呢?
(n-1+(n-2)+(n-3)+ .... +2+ 1 = n(n-1)/2

完全無向圖另外的定義是:
對於無向圖G=(V,E),若對所有的vi,vj ∈V ,當vi≠vj時,有(vi ,vj)∈E,即圖中任意兩個不同的頂點間都有一條無向邊,這樣的無向圖稱爲完全無向圖
完全有向圖: 對於有向圖,若圖中頂點數爲n ,用e表示弧的數目,則 e∈[0,n(n-1)] 。具有n(n-1)條邊的有向圖稱爲完全有向圖
完全有向圖另外的定義是:
對於有向圖G=(V,E),若所有的vi,vj∈V ,當vi ≠vj時,有<vi ,vj>∈E∧<vj , vi >∈E ,即圖中任意兩個不同的頂點間都有一條弧,這樣的有向圖稱爲完全有向圖
有很少邊或弧的圖(e<n㏒n)的圖稱爲 稀疏圖,反之稱爲 稠密圖
權(Weight): 與圖的邊和弧相關的數。權可以表示從一個頂點到另一個頂點的距離或耗費。
子圖和生成子圖: 設有圖G=(V,E)和G’=(V’,E’),若V’是V的子集,且E’是E的子集 ,則稱圖G’是G的子圖;若V’=V且E’是E的子集,則稱圖G’是G的一個生成子圖。
在這裏插入圖片描述
對於無向圖G=(V,E),若邊(v,w)∈E,則稱頂點v和w 互爲 鄰接點,即v和w相鄰接。邊(v,w) 依附(incident) 於頂點v和w ,或者說頂點v和w “相關聯”
與頂點vi相關的邊的條數稱作頂點vi的 度(degree),記爲TD(vi)。
在這裏插入圖片描述
對有向圖G=(V,E),若所有的vi ∈V ,圖G中以vi作爲起點的有向邊(弧)的數目稱爲頂點vi的 出度(Outdegree),記爲OD(vi) ;以vi作爲終點的有向邊(弧)的數目稱爲頂點vi的 入度(Indegree),記爲ID(vi) 。頂點vi的出度與入度之和稱爲 vi的度,記爲TD(vi) 。即:
TD(vi)=OD(vi)+ID(vi)

路徑長度 是指路徑上邊或弧的數目。
若第一個頂點和最後一個頂點相同,則這條路徑是一條 迴路,也叫做 環。
若路徑中頂點沒有重複出現,則稱這條路徑爲 簡單路徑
在無向圖中,如果從頂點vi到頂點vj有路徑,則稱vi和vj 連通。如果圖中任意兩個頂點之間都連通,則稱該圖爲 連通圖,否則,將其中的 極大連通子圖 稱爲 連通分量
在這裏插入圖片描述
在有向圖中,如果對於每一對頂點vi和vj,從vi到vj和從vj到vi都有路徑,則稱該圖爲 強連通圖;否則,將其中的 極大連通子圖 稱爲 強連通分量
在這裏插入圖片描述
生成樹、生成森林: 一個連通圖(無向圖)的生成樹是一個極小連通子圖,它含有圖中全部n個頂點和只有足以構成一棵樹的 n-1條邊,稱爲圖的 生成樹
關於無向圖的生成樹的幾個結論:
◆ 一棵有n個頂點的生成樹有且僅有n-1條邊;
◆ 如果一個圖有n個頂點和小於n-1條邊,則是非連通圖;
◆如果多於n-1條邊,則一定有環;
◆有n-1條邊的圖不一定是生成樹。
在這裏插入圖片描述
有向圖的生成森林 是這樣一個子圖,由若干棵有向樹組成,含有圖中全部頂點。
有向樹 是隻有一個頂點的入度爲0 ,其餘頂點的入度均爲1的有向圖,如圖7-3所示。
網: 每個邊(或弧)都附加一個權值的圖,稱爲 帶權圖帶權的連通圖(包括弱連通的有向圖)稱爲 網或網絡。網絡是工程上常用的一個概念,用來表示一個工程或某種流程,如圖7-4所示。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章