第一部分:图的基本定义与类型
1. 核心预备知识
- 多重集 (Multiset): 与集合不同,多重集是允许元素重复出现的集合。例如,作为多重集
{a, a, b, c, c}
和{a, b, c}
是不同的。 - 无序积 (Unordered Product): 两个集合A和B的无序积记作
A&B
,是由形如{a,b}
的无序对组成的集合,其中a ∈ A
且b ∈ B
。
2. 无向图 (Undirected Graph)
- 定义: 一个无向图
G
是一个二元组<V, E>
,其中:V
是一个非空的有限集合,称为 顶点集,其元素称为 顶点 或 结点。E
是无序积V&V
的一个多重子集,称为 边集,其元素是 无向边 或简称 边。一条边(u, v)
表示顶点u
和v
之间有连接。
- 例子: 若
V = {v₁, v₂, v₃, v₄, v₅}
,E = {(v₁, v₂), (v₂, v₂), (v₂, v₃), (v₁, v₃), (v₁, v₃), (v₁, v₄)}
,这就构成了一个无向图。其中(v₂, v₂)
是一条 环,(v₁, v₃)
出现了两次,是 平行边。
3. 有向图 (Directed Graph / Digraph)
- 定义: 一个有向图
D
是一个二元组<V, E>
,其中:V
是一个非空的有限集合,即 顶点集。E
是笛卡尔积V × V
的一个多重子集,称为 边集,其元素是 有向边(或称 弧)。一条有向边<u, v>
表示一个从u
指向v
的连接。
- 例子: 若
V = {v₁, v₂, v₃, v₄, v₅}
,E = {<v₁, v₁>, <v₃, v₂>, <v₃, v₂>, <v₃, v₄>, <v₂, v₄>, <v₂, v₄>, <v₄, v₅>, <v₅, v₄>, <v₁, v₂>}
,这就构成了一个有向图。
4. 几种特殊的图
- n阶图: 含有
n
个顶点的图。 - 零图 (Null Graph): 边集为空的图(即没有边)。
- 平凡图 (Trivial Graph): 只有一个顶点且没有边的图(即1阶零图)。
- 简单图 (Simple Graph): 既没有 环 也没有 平行边 的图。
- 多重图 (Multigraph): 含有平行边的图。
- 完全图 (Complete Graph):
- 无向完全图 (KnK_nKn):
n
阶无向简单图中,任意两个不同的顶点之间都恰好有一条边相连。 - 有向完全图:
n
阶有向简单图中,任意两个不同的顶点u
和v
之间,既有边<u, v>
,又有边<v, u>
。
- 无向完全图 (KnK_nKn):
第二部分:顶点、边、度数与连通性
1. 顶点与边的关系
- 关联 (Incidence): 如果顶点
u
是一条边e
的端点,则称u
与e
关联。- 在无向图中,若
e = (u, v)
,u
和v
都是e
的 端点。若u=v
,则e
是一个 环,它与顶点u
的关联次数为2。若u≠v
,关联次数为1。 - 在有向图中,若
e = <u, v>
,u
是e
的 始点,v
是e
的 终点。
- 在无向图中,若
- 相邻 (Adjacency):
- 顶点相邻: 若两个顶点
u
和v
之间存在一条边,则称u
和v
相邻。在有向图中,若存在边<u, v>
,则称u
邻接到v
。 - 边相邻: 若两条边至少有一个公共端点,则称它们 相邻。
- 顶点相邻: 若两个顶点
- 孤立点 (Isolated Vertex): 没有任何边与其关联的顶点。
2. 图的度数 (Degree)
- 无向图:
- 度数 (d(v)d(v)d(v)): 与顶点
v
关联的边的数目,一个环计算两次度数。 - 悬挂顶点: 度数为1的顶点。其关联的边称为 悬挂边。
- 最大度 Δ(G)\Delta(G)
- 度数 (d(v)d(v)d(v)): 与顶点