圖的基本概念
一 圖的定義
圖G由頂點集V和邊集E組成,記為G = (V,E),其中V(G)表示圖G中頂點的有限非空集;E(G)表示圖G中頂點之間的關係(邊)集合。若V={v1,v2,...,vn},則用|V|表示圖G中頂點的個數,也稱為圖G的階,E={(u,v)|u∈V,v∈V},用|E|表示圖G中邊的條數。
注意:線性表可以為空表,樹可以為空樹,但是圖不可以為空圖。即,圖中不能一個頂點也沒有,圖的頂點集V一定非空,但邊集E可以為空,此時圖中只有頂點而沒有邊。
二 圖的型別
有向圖
若E為有向邊(也稱弧)的有限集合時,則圖G為有向圖。弧是頂點的有序對,記為<v,w>,其中v,w是頂點,v稱為弧尾,w稱為弧頭,<v,w>稱為從頂點v到頂點w的弧,也稱為v鄰接到w,或者w鄰接子v。
有向圖G1={V1,E1};頂點集合為:V1={1,2,3},邊集合E1為:{<1,2>,<2,1>,<2,3>}
無向圖
若E為無向邊(簡稱邊)的有限結合時,則圖G為無向圖。邊是頂點的無序對,記為(v,w)或者(w,v),因為(v,w) = (w,v),其中v,w是頂點。可以說頂點w和頂點v互為鄰接點。邊(v,w)依附於頂點w和v,或者邊(v,w)和頂點v,w相關聯。
無向圖G2=(V2,E2);頂點集合為:V2(1,2,3,4),邊集合E2為:{(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)}
簡單圖
一個圖G滿足①不存在重複的邊,②不存在頂點到自身的邊,則圖G為簡單圖。
多重圖
一個圖G中某兩個結點之間的邊數多餘一條,又允許頂點通過同一條邊和自己關聯,則G為多重圖。
注意:多重圖和簡單圖的定義是相對的。
完全圖(簡單完全圖)
對於無向圖,|E|的取值範圍是0到n(n-1)/2,有n(n-1)/2條邊的無向圖稱為完全圖,在完全圖中任意兩個頂點之間都存在邊。
對於有向圖,|E|的取值範圍是0到n(n-1),有n(n-1)條弧的有向圖稱為有向完全圖,在有向完全圖中任意兩個頂點之間都存在方向相反的兩條弧。
上述的n為圖中頂點的數量。
無向完全圖 | 有向完全圖 |
三 圖的細分概念
子圖
當兩個圖G1=(V1,E1)和G2=(V2,E2),若V1是V2的子集,且E1是E2的子集,則稱G1是G2的子圖。若有滿足V(G1)=V(G2),則稱G1為G2的生成子圖。
注意:並非V和E的任何子集都能構成G的子圖,因為子集中可能不是圖,即E的子集中的某些邊關聯的頂點可能不在頂點集合V中。
連通,連通圖和連通分量
連通 | 在無向圖中,若從頂點v到頂點w有路徑存在,則稱v和w是連通的。 |
連通圖 | 當圖G中任意兩個都是連通的(並不需要每個兩個頂點兩兩連通),則稱圖G為連通圖,否則為非連通圖 |
連通分量 | 無向圖中的極大連通子圖稱為連通分量,若圖中有n個頂點,並且邊數小於n-1,則此圖必為連通圖 |
極大連通子圖
- 極大連通子圖中包含了所有的邊,對於連通圖而言,最大連通子圖是它本身,且它是唯一的,對於非連通圖而言,存在多個不同的極大連通子圖。
- 往極大連通子圖中增加圖中頂點的任何一個其他的不在連通子圖中的頂點時,極大連通子圖都不再連通。
極小連通子圖
- 極小連通子圖中是保持圖連通且邊數最少的子圖。它只會存在於連通圖中,連通圖的生成樹是該連通圖頂點集確定的極小連通子圖,同一個連通圖存在不同的生成樹,所以極小連通子圖不唯一。
- 用邊把極小連通子圖中所有節點給連起來,若有n個節點,則有n-1條邊。
- 對於極小連通子圖而言,當移除其中任意一條邊的時候,都會無法構成樹,即極小連通子圖中的每條邊都是不可少的。
- 如果在生成樹上新增一條邊,一定會構成一個環。即只要能連通圖的所有頂點而又不產生迴路的任何子圖都是它的生成樹。
強連通圖,強連通分量
在有向圖中,若從頂點v到頂點w和從頂點w到頂點v之間都存在連通路徑,則稱這兩個頂點是強連通的。若圖中任何一個頂點都是強連通的,則稱此圖為強連通圖。有向圖的極大強連通子圖稱為有向圖的強連通分量。
注意:強連通圖,強連通分量只是針對有向圖而言的。一般在五向連通中討論連通性,在有向圖中考慮連通性。
生成樹,生成森林
連通圖的生成樹是包含圖中全部頂點的一個極小連通子圖,若圖中頂點數為n,則它的生成樹含有n-1條邊。對於生成樹而言,若砍去它的一條邊,則會變成非連通圖,若加上一條邊會形成一個迴路。
包含無向圖中全部頂點的極小連通子圖,只有生成樹滿足條件,因為砍去生成樹的任一條邊,圖將不再連通。
在非連通圖中,連通分量的生成樹構成了非連通圖的生成森林。
頂點的度,入度和出度
頂點的度 | 每個頂點的度定義為以該頂點為一個端點的邊的數目,它是該頂點中出度和入度之和。 |
入度 | 在有向圖中,以該頂點v為終點的有向邊的數目。 |
出度 | 在有向圖中,以該頂點v為起點的有向邊的數目。 |
無向圖中的全部頂點的度的和等於邊數量的2倍,因為每條邊和兩個頂點相關聯。
在有向圖中,因為每條有向邊都有一個起點和終點。即有向圖的全部頂點的入度之和於出度之和相等。
邊的權和網
在一個圖中,每條邊都可以標上具有某種意義的數值,該數值稱為該邊的權值。這中邊上帶有權值的圖稱為帶權圖,也稱為網。
稠密圖,稀疏圖
邊數很少的圖稱為稀疏圖,反之稱為稠密圖。稀疏和稠密本身是模糊的概念,稀疏圖和稠密圖只是相對而言。一般當圖G滿足|E|<|V|log|V|時,可以將G視為稀疏圖。
路徑,路徑長度和迴路
頂點vp到頂點vq之間的一條路徑是指頂點序列vp,v1,v2,...,vq,當然關聯的邊也可以理解為路徑的構成要素。路徑上邊的數目稱為路徑長度。第一個頂點和最後一個頂點相同的路徑稱為迴路或環。若一個圖有n個頂點,並且有大於n-1條邊,則此圖一定有環。
簡單路徑,簡單迴路
在路徑序列中,頂點不重複出現的路徑稱為簡單路徑。除第一個頂點和最後一個頂點外,其餘頂點不重複出現的迴路稱為簡單迴路。
距離
從頂點u出發到頂點v的最短路徑若存在,則此路徑的長度稱為從u到v的距離。若從u到v根本不存在路徑,則該距離為無窮(∞)。
有向樹
一個頂點的入度為0,其餘頂點的入度均為1的有向圖,稱為有向樹。
相關文章
- 圖與網路模型的基本概念精解模型
- 資料結構——圖相關基本概念資料結構
- 樹的基本概念
- redux的基本概念Redux
- Docker的基本概念Docker
- influxdb的基本概念UX
- Apache Kafka 的基本概念ApacheKafka
- 程式的基本概念-上
- Ability的基本概念(1)
- Ability的基本概念(2)
- Java —— 流的基本概念Java
- Android 12(S) 圖形顯示系統 - 基本概念(一)Android
- 神經網路圖的簡介(基本概念,DeepWalk以及GraphSage演算法)神經網路演算法
- 基本概念
- 效能測試的基本概念
- MySQL MVCC中的基本概念MySqlMVC
- 演算法的基本概念演算法
- 執行緒的基本概念執行緒
- babel基本概念Babel
- mongodb 基本概念MongoDB
- OpenGL基本概念
- Spring 基本概念Spring
- Kafka基本概念Kafka
- PMP基本概念
- 2.1 基本概念
- RocketMQ基本概念MQ
- Mysql基本概念MySql
- mobx基本概念
- JMS基本概念
- javascript:基本概念JavaScript
- Kubernetes的基本概念和術語
- 軟體測試的基本概念
- 第1節:GTID的基本概念
- 資料結構的基本概念資料結構
- 49課 多型的基本概念多型
- (1)掌握SqlServer索引的基本概念SQLServer索引
- 數值設計的基本概念
- git的基本概念及命令使用Git