圖的概念
圖是一種比線性表和樹更爲複雜的數據結構。其與線性表、樹性結構的注意區別在於:
- 在線性表中,數據元素之間僅有線性關係,每個數據元素之間僅有線性關係,即每個數據元素只有一個直接前驅和一個直接後驅;
- 在樹性結構中,數據元素之間有着明顯的層次關係,每一層的數據元素之和下一層的孩子節點相關,和上一層的雙親節點相關;
- 在圖形結構中,任意兩個元素之間都可能相關。
圖的抽象數據形式
圖的抽象數據形式如下:
ADT Graph{
數據對象 V:V是具有相同特性的數據元素的集合,稱爲頂點集。
數據關係 R:頂點關係集合。
R = {VR}:定點關係集合;
VR = {<v, w> | v, w ∈ V,P<v, w>表示定點之間的弧,P(v, w)表示定點之間的邊}
基本操作 P:...
}
其中有向圖可以表示爲:
G1=(V1,R1)V1={v1,v2,v3,v4}R1={<v1,v2>,<v1,v3>,<v3,v4>,<v4,v1>}
其中無向圖可以表示爲:
G2=(V2,R2)V2={v1,v2,v3,v4}R2={(v1,v2),(v1,v3),(v3,v4),(v4,v1)}
參考資料
- 《算法新解》
- 《數據結構(C語言版本)》