🔥 本文由 程序喵正在路上 原创,CSDN首发!
💖 系列专栏:数据结构与算法
🌠 首发时间:2022年11月8日
🦋 欢迎关注🖱点赞👍收藏🌟留言🐾
🌟 一以贯之的努力 不得懈怠的人生
图 G G G 由顶点集 V V V 和边集 E E E 组成,记为 G = ( V , E ) G=(V, E) G=(V,E),其中 V ( G ) V(G) V(G) 表示图 G G G 中顶点的有限非空集; E ( G ) E(G) E(G) 表示图 G G G 中顶点之间的关系(边)集合。若 V = { v 1 , v 2 , . . . , v n } V=\{v_1, v_2, ... , v_n\} V={v1,v2,...,vn},则用 ∣ V ∣ |V| ∣V∣ 表示图 G G G 中顶点的个数,也称为图 G G G 的阶, E = { ( u , v ) ∣ u ∈ V , v ∈ V } E = \{(u, v) | u \in V, v \in V\} E={(u,v)∣u∈V,v∈V}, 用 ∣ E ∣ |E| ∣E∣ 表示图 G G G 中边的条数
注意:线性表可以是空表,树可以是空树,但图不可以是空图,即 V V V 一定是非空集,但 E E E 可以是空集
若
E
E
E 是有向边(也称弧)的有限集合时,则图
G
G
G 为有向图。弧是顶点的无序对,记为
<
v
,
w
>

上图可以表示为
G
1
=
(
V
1
,
E
1
)
G_1 = (V_1, E_1)
G1=(V1,E1)
V
1
=
{
A
,
B
,
C
,
D
,
E
}
V_1 = \{A, B, C, D, E\}
V1={A,B,C,D,E}
E
1
=
{
<
A
,
B
>
,
<
A
,
C
>
,
<
A
,
D
>
,
<
A
,
E
>
,
<
B
,
A
>
,
<
B
,
C
>
,
<
B
,
E
>
,
<
C
,
D
>
}
E_1 = \{, , , , , , ,
若 E E E 是无向边(简称边)的有限集合时,则图 G G G 为无向图。边是顶点的无序对,记为 ( v , w ) (v, w) (v,w) 或 ( w , v ) (w, v) (w,v),因为 ( v , w ) = ( w , v ) (v, w) = (w, v) (v,w)=(w,v),其中 v 、 w v、w v、w 是顶点。可以说顶点 w w w 和顶点 v v v 互为邻接点。边 ( v , w ) (v, w) (v,w) 依附于顶点 w w w 和 v v v,或者说边 ( v , w ) (v, w) (v,w) 和顶点 v 、 w v、w v、w 相关联

上图可以表示为
G
2
=
(
V
2
,
E
2
)
G_2 = (V_2, E_2)
G2=(V2,E2)
V
2
=
{
A
,
B
,
C
,
D
,
E
}
V_2 = \{A, B, C, D, E\}
V2={A,B,C,D,E}
E
2
=
{
(
A
,
B
)
,
(
B
,
D
)
,
(
B
,
E
)
,
(
C
,
D
)
,
(
C
,
E
)
,
(
D
,
E
)
}
E_2 = \{(A, B), (B, D), (B, E), (C, D), (C, E), (D, E)\}
E2={(A,B),(B,D),(B,E),(C,D),(C,E),(D,E)}
简单图 —— 不存在重复边;不存在顶点到自身的边
多重图 —— 图 G G G 中某两个结点之间的边数多于一条,又允许顶点通过同一条边和自己关联,则 G G G 为多重图
简单图和多重图也有无向图和有向图之分
对于无向图:顶点 v v v 的度是指依附于该顶点的边的条数,记为 T D ( v ) TD(v) TD(v)
在具有 n n n 个顶点、 e e e 条边的无向图中, ∑ i = 1 n T D ( v i ) = 2 e \sum_{i=1}^{n}TD(v_i) = 2e ∑i=1nTD(vi)=2e,即无向图的全部顶点的度的和等于边数的 2 2 2 倍
对于有向图:
在具有 n n n 个顶点、 e e e 条边的有向图中, ∑ i = 1 n I D ( v i ) = ∑ i = 1 n O D ( v i ) = e \sum_{i=1}^{n}ID(v_i) = \sum_{i=1}^{n}OD(v_i) = e ∑i=1nID(vi)=∑i=1nOD(vi)=e
若无向图 G G G 中任意两个顶点都是连通的,则称图 G G G 为连通图,否则称为非连通图
若有向图中任意一对顶点都是强连通的,则称此图为强连通图
对于 n n n 个顶点的无向图 G G G:
对于 n n n 个顶点的有向图 G G G:
设有两个图 G = ( V , E ) G = (V, E) G=(V,E) 和 G ′ = ( V ′ , E ′ ) G' = (V', E') G′=(V′,E′),若 V ′ V' V′ 是 V V V 的子集,且 E ′ E' E′ 是 E E E 的子集,则称 G ′ G' G′ 是 G G G 的子图
若有满足 V ( G ′ ) = V ( G ) V(G') = V(G) V(G′)=V(G) 的子图 G ′ G' G′,则称其为 G G G 的生成子图,也就是比如说一个子图中有原图的所有点,但少了一些边,那么可以说这个子图是原图的生成子图
无向图中的极大连通子图称为连通分量,其中,极大连通子图是指子图必须连通,且包含尽可能多的顶点和边
有向图中的极大强连通子图称为有向图的强连通分量,其中,极大强连通子图是指子图必须强连通,同时保留尽可能多的边
连通图的生成树是包含图中全部顶点的一个极小连通子图(边尽可能少,但要保持连通)
若图中顶点数为 n n n,则它的生成树有 n − 1 n - 1 n−1 条边。对生成树而言,若砍去它的一条边,则会变成非连通图,若加上一条边则会形成一个回路
在非连通图中,每个连通分量的生成树构成了非连通图的生成森林