图
定义
一个无向图G由顶点集合V(G)和边集合E(G)组成,其中V(G)是有限非空集合,元素称为结点;E(G)是V(G)的无序对(若为有向图,则是有序对)的集合,且不重复(非多重图)。
*:下文中,如无特殊说明,均指无向简单图。
常用表示
G的阶n是顶点的个数。
G的边数m是边的个数。
若e=uv是G中的一条边,则称u和v是相互邻接的,边e分别与u和v相互关联。
推广
简单图:即上述定义,最基本的图。
多重图:边可以重复,即E(G)可以重复。
伪图:在多重图的基础上,允许顶点关联自己,即e=uu。
度
点度:dG(u):点u的关联的边的个数,环算作两条边。
孤立结点:度为0的结点
缩写
|
度 |
最大点度 |
最小点度 |
全称 |
dG(u) |
ΔG |
δG |
abbr |
d(u) |
Δ |
δ |
对于有向图
度 |
最大出度 |
最大入度 |
最小出度 |
最小入度 |
d(u) |
Δ+ |
Δ− |
δ+ |
δ− |
握手定理
u∈G∑d(u)=2m
推论:计数度的结点个数为偶数
图的分类
- 零图:只由孤立节点构成,即G=(V,∅)
- 正则图:所有结点的度都相等。点度为k的正则图称为k度正则图
- 完全图:所有结点的相互邻接,是n−1度正则图
- 二部图:结点分为两个集合X,Y,且不相交(X∩Y=∅),且X和Y内部的结点都没有边相连,且任意边的两个端点分别属于X和Y
- 完全二部图:X和Y中的结点全部邻接,若∣X∣=n1,∣Y∣=n2,记为Kn1⋅n2
推论:正则图的点度为奇数的充要条件是n为奇数
For 有向图
- 有向完全图:每对结点u,v有边uv和vu
- 竞赛图:每对结点u,v恰有一条边uv或vu
子图
G=(V1,E1),H=(V2,E2)
H是G的( <? extends 子图>)
- 子图:V2⊆V1,E2⊆E1
- 生成子图:V2=V1
- 真子图:V2⊂V1 or E2⊂E1
- 平凡子图:V1=V2,(E2=E1 or E2=∅)
产生子图的方法
- 删点子图:G−u表示G删去点u与u邻接的边
- 删点子图(删点集):G−S表示G删去点集S与S中结点所有邻接的边
- 删边子图:G−e表示G删去边e
- 删边子图(删边集):G−E表示G删去边集E
- 诱导子图:
- 点诱导子图:For S⊆V,E′={uv∣u,v∈S∧uv∈E}
- 边诱导子图:For ∅=T⊆E,V′={u∣u∈T中含有的点}
补图
G={V,E},G′={V′,E′}
若(以下条件均等价)
- V=V′, ∧(E∩E′=∅∧E∪E′={uv∣u,v∈V})
- V=V′, E′={uv∣v,u∈V∧uv∈/E}
- V=V′, uv∈E′ 当且仅当uv∈/E
- V=V′, G与G′边相加恰好构成V的完全图
则称G和G′互为补图
通路与回路
基本定义
道路:非空序列P=v0e1v1⋯ekvk
- v0是起点
- vk是终点
- 其余结点是内部结点
零道路:P=v0
闭道路:v0=vk /开道路:v0=vk
简单道路:P中边不重复(闭道路称为回路)
基本道路:P中点不重复(闭道路称为圈,按照长度分为奇卷/偶圈)
连通性
支
ω(G):极大连通子图
ω(G)=1:连通图
ω(G)>1:非连通图
距离
非负/对称/满足三角不等式
割集
- 割点v:G−v不是连通图
- 割集S:G−S不是连通图
- 基本割集S:若S′⊂S,则G−S′是连通图;换句话说,基本割集S应当看成一个基本单位,取其子集无法将图G分成非连通图。
显然,割点v的集合{v}是基本割集。
基本割集也是割集。
割边
定于与割点类似
- 割边e:G−e不是连通图
- 割边集E:G−E不是连通图
- 基本割边集E:若E′⊂E,则G−E′是连通图;换句话说,基本割边集E应当看成一个基本单位,取其子集无法将图G分成非连通图。
连通度
- 点连通度κ(G):G删点使其成为非连通的/一个结点的子图,所需的最少结点数。
- 边连通度λ(G):G删边使其成为非连通的/一个结点的子图,所需的最少边数。
连通/边连通
- k连通:κ(G)≥k
- k边连通:λ(G)≥k
定理
κ(G)≤λ(G)≤δ
有向图
- 单向连通:G中任意两点,至少在一个方向上连通
- 强连通:G中任意两点,在两个方向上都连通
- 弱连通:基图(去掉边的方向)是连通图
强连通⇒单向连通⇒弱连通
- 强分图:极大强连通子图
- 单向分图:极大单向连通子图
- 弱分图:极大弱连通子图
定理(简单有向图)
- 一个简单有向图是强连通的⟺有一条包含所有结点的有向闭道路
- 每个结点位于且仅位于一个强分图中
矩阵表示
邻接矩阵An×n
这部分对有向图与无向图均成立
aij={10when(vi,vj)∈Ewhen(vi,vj)∈/E
幂次方含义
由矩阵的相乘关系可知
aij(2)=k=1∑naikakj
就是说,aij(2)表示从vi到vj的长度为2的路径的个数。
更进一步,aij(n)表示从vi到vj的长度为n的路径的个数。
推论
- 最小的k使得aij(k)>0,这个k就是vi到vj的最短路径长度
- 若对k∈[1,⋯,n−1],aij(k)=0,则vi到vj是不可达的
- 若存在t,s:aij(t)>0∧aji(s)>0⟺G含包含vi和vj的有向回路
- Bk=∑i=1kAi,则Bk元素bij(k)代表从vi到vj的长度不超过k的路径的个数。
可达性矩阵P
pij={10when(vi,vj)可达when(vi,vj)不可达
构造
传统派
利用Bk∣k=n
构造element-wise映射函数
pij=⎩⎪⎨⎪⎧10when bij(n)>0when bij(n)=0
维新派
利用Warshall算法(略)
应用:求全部强分图
求P⊙PT:元素(P⊙PT)ij表示vi,vj两两是否相互连通
注意:由于点的连通实际上是自反的,因此最后还要加上单位矩阵I。
eg.
P⊙PT=PPT+I=⎣⎢⎢⎢⎢⎢⎢⎢⎡111100111100111100111100000010000001⎦⎥⎥⎥⎥⎥⎥⎥⎤
显然,共有3个强分图,{v1,v2,v3,v4},{v5},{v6}
*:矩阵元素类型为0/1即布尔型
关联矩阵Mn×m
mij=⎩⎪⎪⎨⎪⎪⎧−110when ej是vi出边when ej是vi入边otherwise
圈矩阵Cc×m
找出所有的圈,对于每个圈,任意指定一个正方向(顺时针/逆时针)。
其中
cij=⎩⎪⎪⎨⎪⎪⎧−110when ci与ej方向一致when ci与ej方向相反when ci不包含ej
结论
CMT=0
平面图
定义
若G存在一种表示,使得其能被画在平面上,且点不重合,任意两条边不相交(更严谨地说是不在公共结点以外的地方相交)。
定理
- 若G是平面图,则G的任意子图也是平面图
- 若G是不是平面图,则G的任意母图也不是平面图
- Kn(n≥5),K3,n(n≥3)都不是平面图
面
值得注意的是,在图像外部也存在一个面。如上图所示F9。
面度
包围这个区域的边数。注意割边要算作两次。
握手定理?
∑deg(Fi)=2m
欧拉公式
对于面数为f的连通平面图G有
n−m+f=2
推论:具有多个支的图的欧拉公式
n−m+f=1+ω(G)
推论:平面图的必要性
m≤3n−6
进一步,还能推出:对于任意简单连通平面图,至少存在一个度数不超过5的节点。
圈长g
其包含的最短圈的长度。如果无圈,认为其圈长为无穷大。
圈长与平面图的必要性
对上述平面图必要性再进行推广,有:
m≤g−2gn−2g,(g≥2)
判断平面图:细分
//TODO
对偶图
//TODO
欧拉图
G是一个无向图,包含G的每条边的简单道路称为欧拉道路。
包含G的每条边的简单回路称为欧拉回路。
具有欧拉回路的图称为欧拉图。
欧拉图,简而言之:能不重复地一笔将整个图画完。
条件(无向图)
连通图G是欧拉图,iff ,G不含奇度数结点
非平凡连通图G含欧拉道路,iff,G最多有两个奇度数结点
条件(有向图)
连通图G是欧拉图,iff,G的每个结点的入度等于出度
连通有向图含欧拉道路,iff,G最多有两个结点入度不等于出度(且一个入读比出度多一,一个入读比出度少一)。
哈密顿图
哈密顿道路:包含G的每个结点的简单道路
哈密顿回路:包含G的每个结点的圈
含有哈密顿圈的图称为哈密顿图。
充分条件(不是必要)
对于n阶简单图G.任意一对结点u,v满足d(u)+d(v)≥n,则G必然含有哈密顿圈
对于n>3阶简单图G.任意一对结点u,v满足d(u)+d(v)>n,则G必然是哈密顿图
闭包
若存在不相邻结点u,v,使得d(u)+d(v)≥n,则构造图G+uv。
重复上述过程直至找不到这样的结点。
闭包与哈密顿图
一个简单图G是哈密顿图,iff,G的闭包是哈密顿图。