图论基础 学习笔记
Index
图论 (Graph theory) 是数学的一个分支,图是图论的主要研究对象。图 (Graph) 是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。
图
WARNING
图论相关定义在不同教材中往往会有所不同,遇到的时候需根据上下文加以判断。
图 (graph) 是一个二元组
常用
当
当
图有多种,包括 无向图 (undirected graph),有向图 (directed graph),混合图 (mixed graph) 等。
若
若
若
若
图
形象地说,图是由若干点以及连接点与点的边构成的。
相邻
在无向图
一个顶点
一个点集
简单图
自环 (loop):对
重边 (multiple edge):若
简单图 (simple graph):若一个图中没有自环和重边,它被称为简单图。具有至少两个顶点的简单无向图中一定存在度相同的结点。(鸽巢原理)
如果一张图中有自环或重边,则称它为 多重图 (multigraph)。
WARNING
在题目中,如果没有特殊说明,是可以存在自环和重边的,在做题时需特殊考虑。
度数
与一个顶点
对于无向简单图,有
握手定理(又称图论基本定理
推论:在任意图中,度数为奇数的点必然有偶数个。
若
若
若
若
若
对一张图,所有节点的度数的最小值称为
在有向图
对于任何有向图
若对一张无向图
如果给定一个序列 a,可以找到一个图 G,以其为度数列,则称 a 是 可图化 的。
如果给定一个序列 a,可以找到一个简单图 G,以其为度数列,则称 a 是 可简单图化 的。
路径
途径 (walk):途径是连接一连串顶点的边的序列,可以为有限或无限长度。形式化地说,一条有限途径
迹 (trail):对于一条途径
路径 (path)(又称 简单路径 (simple path)
回路 (circuit):对于一条迹
环 / 圈 (cycle)(又称 简单回路 / 简单环 (simple circuit)
WARNING
这个名词的歧义尤其多,具体问题中应该视语境具体判断。
子图
对一张图
若对
容易发现,一个图的导出子图仅由子图的点集决定,因此点集为
若
显然,
如果一张无向图
如果有向图
连通
无向图
对于一张无向图
若无向图
若
有向图
对于一张有向图
若一张有向图的节点两两互相可达,则称这张图是 强连通的 (strongly connected)。
若一张有向图的边替换为无向边后可以得到一张连通图,则称原来这张有向图是 弱连通的 (weakly connected)。
与连通分量类似,也有 弱连通分量 (weakly connected component)(极大弱连通子图)和 强连通分量 (strongly connected component)(极大强连通子图
割
在本部分中,有向图的「连通」一般指「强连通
对于连通图
对于连通图
对于图
还可以在边上作类似的定义:
对于连通图
对于连通图
对于图
点双连通 (biconnected) 几乎与
边双连通 (
与连通分量类似,也有 点双连通分量 (biconnected component)(极大点双连通子图)和 边双连通分量 (
Whitney 定理:对任意的图
稀疏图 / 稠密图
若一张图的边数远小于其点数的平方,那么它是一张 稀疏图 (sparse graph)。
若一张图的边数接近其点数的平方,那么它是一张 稠密图 (dense graph)。
这两个概念并没有严格的定义,一般用于讨论 时间复杂度 为
补图
对于无向简单图
反图
对于有向图
特殊的图
若无向简单图
边集为空的图称为 无边图 (edgeless graph)、空图 (empty graph) 或 零图 (null graph),
WARNING
零图 (null graph) 也可指 零阶图 (order-zero graph)
若有向简单图
若无向简单图
若无向简单图
若无向简单图
若无向简单图
如果一张无向连通图不含环,则称它是一棵 树 (tree)。
如果一张无向连通图包含恰好一个环,则称它是一棵 基环树 (pseudotree)。
如果一张有向弱连通图每个点的入度都为
如果一张有向弱连通图每个点的出度都为
多棵树可以组成一个 森林 (forest),多棵基环树可以组成 基环森林 (pseudoforest),多棵基环外向树可以组成 基环外向树森林,多棵基环内向树可以组成 基环内向森林 (functional graph)。
如果一张无向连通图的每条边最多在一个环内,则称它是一棵 仙人掌 (cactus)。多棵仙人掌可以组成 沙漠。
如果一张图的点集可以被分为两部分,每一部分的内部都没有连边,那么这张图是一张 二分图 (bipartite graph)。如果二分图中任何两个不在同一部分的点之间都有连边,那么这张图是一张 完全二分图 (complete bipartite graph/biclique),一张两部分分别有
如果一张图可以画在一个平面上,且没有两条边在非端点处相交,那么这张图是一张 平面图 (planar graph)。一张图的任何子图都不是