定义

一个无向图GG由顶点集合V(G)V(G)和边集合E(G)E(G)组成,其中V(G)V(G)是有限非空集合,元素称为结点;E(G)E(G)V(G)V(G)的无序对(若为有向图,则是有序对)的集合,且不重复(非多重图)。

*:下文中,如无特殊说明,均指无向简单图。

常用表示

GG的阶nn是顶点的个数。

GG的边数mm是边的个数。

e=uve=uvGG中的一条边,则称uuvv是相互邻接的,边ee分别与uuvv相互关联。

推广

简单图:即上述定义,最基本的图。

多重图:边可以重复,即E(G)E(G)可以重复。

伪图:在多重图的基础上,允许顶点关联自己,即e=uue=uu

点度:dG(u)d_G(u):点uu的关联的边的个数,环算作两条边。

孤立结点:度为0的结点

缩写

最大点度 最小点度
全称\text{全称} dG(u)d_G(u) ΔG\Delta_G δG\delta_G
abbr\text{abbr} d(u)d(u) Δ\Delta δ\delta

对于有向图

最大出度 最大入度 最小出度 最小入度
d(u)d(u) Δ+\Delta^+ Δ\Delta^- δ+\delta^+ δ\delta^-

握手定理

uGd(u)=2m\sum_{u\in G}d(u)=2m

推论:计数度的结点个数为偶数

图的分类

  • 零图:只由孤立节点构成,即G=(V,)G=(V,\empty)
    • 平凡图:只由一个孤立节点构成
  • 正则图:所有结点的度都相等。点度为kk的正则图称为kk度正则图
    • 完全图:所有结点的相互邻接,是n1n-1度正则图
  • 二部图:结点分为两个集合X,YX,Y,且不相交(XY=X\cap Y=\empty),且XXYY内部的结点都没有边相连,且任意边的两个端点分别属于XXYY
    • 完全二部图:XXYY中的结点全部邻接,若X=n1,Y=n2|X|=n_1,|Y|=n_2,记为Kn1n2K_{n_1\cdot n_2}

推论:正则图的点度为奇数的充要条件是nn为奇数

For 有向图

  • 有向完全图:每对结点u,vu,v有边uvuvvuvu
  • 竞赛图:每对结点u,vu,v恰有一条边uvuvvuvu

子图

G=(V1,E1),H=(V2,E2)G=(V_1,E_1),H=(V_2,E_2)

HHGG的( <? extends 子图>)

  • 子图:V2V1,E2E1V_2\subseteq V_1,E_2\subseteq E_1
    • 生成子图:V2=V1V_2=V_1
    • 真子图:V2V1 or E2E1V_2\subset V_1 \text{ or } E_2\subset E_1
    • 平凡子图:V1=V2,(E2=E1 or E2=)V_1=V_2,(E_2=E_1 \text{ or } E_2=\empty)

产生子图的方法

  • 删点子图:GuG-u表示GG删去点uuuu邻接的边
    • 删点子图(删点集):GSG-S表示GG删去点集SSSS中结点所有邻接的边
  • 删边子图:GeG-e表示GG删去边ee
    • 删边子图(删边集):GEG-E表示GG删去边集EE
  • 诱导子图:
    • 点诱导子图:For SV,E={uvu,vSuvE}\text{For }S\subseteq V,E'=\{uv|u,v\in S\land uv \in E\}
    • 边诱导子图:For TE,V={uuT中含有的点}\text{For }\emptyset\neq T\subseteq E,V'=\{u|u\in T\text{中含有的点}\}

补图

G={V,E},G={V,E}G=\{V,E\},G'=\{V',E'\}

若(以下条件均等价)

  • V=VV=V', (EE=EE={uvu,vV})\land (E\cap E'=\emptyset\land E\cup E'=\{uv|u,v\in V\})
  • V=VV=V', E={uvv,uVuvE}E'=\{uv|v,u\in V\land uv\notin E\}
  • V=VV=V', uvEuv\in E' 当且仅当uvEuv\notin E
  • V=VV=V', GGGG'边相加恰好构成VV的完全图

则称GGGG'互为补图

通路与回路

基本定义

道路:非空序列P=v0e1v1ekvkP=v_0e_1v_1\cdots e_kv_k

  • v0v_0是起点
  • vkv_k是终点
  • 其余结点是内部结点

零道路:P=v0P=v_0

闭道路:v0vkv_0\neq v_k /开道路:v0=vkv_0=v_k

简单道路:PP不重复(闭道路称为回路)

基本道路:PP不重复(闭道路称为圈,按照长度分为奇卷/偶圈)

连通性

ω(G)\omega(G):极大连通子图

ω(G)=1\omega(G)=1:连通图

ω(G)>1\omega(G)>1:非连通图

距离

非负/对称/满足三角不等式

割集

  • 割点vvGvG-v不是连通图
  • 割集SSGSG-S不是连通图
  • 基本割集SS:若SSS'\subset S,则GSG-S'是连通图;换句话说,基本割集SS应当看成一个基本单位,取其子集无法将图GG分成非连通图。

显然,割点vv的集合{v}\{v\}是基本割集。

基本割集也是割集。

割边

定于与割点类似

  • 割边eeGeG-e不是连通图
  • 割边集EEGEG-E不是连通图
  • 基本割边集EE:若EEE'\subset E,则GEG-E'是连通图;换句话说,基本割边集EE应当看成一个基本单位,取其子集无法将图GG分成非连通图。

连通度

  • 点连通度κ(G)\kappa(G)GG删点使其成为非连通的/一个结点的子图,所需的最少结点数。
  • 边连通度λ(G)\lambda(G)GG删边使其成为非连通的/一个结点的子图,所需的最少边数。

连通/边连通

  • kk连通:κ(G)k\kappa(G)\geq k
  • kk边连通:λ(G)k\lambda(G)\geq k

定理

κ(G)λ(G)δ\kappa(G)\leq\lambda(G)\leq\delta

有向图

  • 单向连通:GG中任意两点,至少在一个方向上连通
  • 强连通:GG中任意两点,在两个方向上都连通
  • 弱连通:基图(去掉边的方向)是连通图

强连通单向连通弱连通强连通\Rightarrow 单向连通 \Rightarrow 弱连通

  • 强分图:极大强连通子图
  • 单向分图:极大单向连通子图
  • 弱分图:极大弱连通子图

定理(简单有向图)

  1. 一个简单有向图是强连通的    \iff有一条包含所有结点的有向闭道路
  2. 每个结点位于且仅位于一个强分图中

矩阵表示

邻接矩阵An×nA_{n\times n}

这部分对有向图与无向图均成立

aij={1when(vi,vj)E0when(vi,vj)Ea_{ij}=\left\{\begin{aligned} &1 & \text{when}(v_i,v_j)\in E\\ &0 & \text{when}(v_i,v_j)\notin E\\ \end{aligned}\right.

幂次方含义

由矩阵的相乘关系可知

aij(2)=k=1naikakja_{ij}^{(2)}=\sum_{k=1}^na_{ik}a_{kj}

就是说,aij(2)a_{ij}^{(2)}表示从viv_ivjv_j的长度为22的路径的个数。

更进一步,aij(n)a^{(n)}_{ij}表示从viv_ivjv_j的长度为nn的路径的个数。

推论

  1. 最小的kk使得aij(k)>0a_{ij}^{(k)}>0,这个kk就是viv_ivjv_j的最短路径长度
  2. 若对k[1,,n1]k\in[1,\cdots ,n-1]aij(k)=0a_{ij}^{(k)}=0,则viv_ivjv_j是不可达的
  3. 若存在t,s:aij(t)>0aji(s)>0t,s:a_{ij}^{(t)}>0\land a_{ji}^{(s)}>0    \iffGG含包含viv_ivjv_j的有向回路
  4. Bk=i=1kAiB_k=\sum_{i=1}^k A^i,则BkB_k元素bij(k)b_{ij}^{(k)}代表从viv_ivjv_j的长度不超过kk的路径的个数。

可达性矩阵PP

pij={1when(vi,vj)可达0when(vi,vj)不可达p_{ij}=\left\{\begin{aligned} &1 & \text{when}(v_i,v_j)\text{可达}&\\ &0 & \text{when}(v_i,v_j)\text{不可达}&\\ \end{aligned}\right.

构造

传统派

利用Bkk=nB_k|_{k=n}

构造element-wise\text{element-wise}映射函数

pij={1when bij(n)>00when bij(n)=0p_{ij}=\left\{\begin{aligned} &1 & \text{when }b_{ij}^{(n)}>0\\ &0 & \text{when }b_{ij}^{(n)}=0\\ \end{aligned}\right.

维新派

利用Warshall\text{Warshall}算法(略)

应用:求全部强分图

PPTP\odot P^T:元素(PPT)ij(P\odot P^T)_{ij}表示vi,vjv_i,v_j两两是否相互连通

注意:由于点的连通实际上是自反的,因此最后还要加上单位矩阵II

eg.

PPT=PPT+I=[111100111100111100111100000010000001]P\odot P^T=PP^T+I=\left[\begin{matrix} 1 & 1 & 1 & 1 & 0 & 0\\ 1 & 1 & 1 & 1 & 0 & 0\\ 1 & 1 & 1 & 1 & 0 & 0\\ 1 & 1 & 1 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 0 & 0 & 1\\ \end{matrix}\right]

显然,共有33个强分图,{v1,v2,v3,v4},{v5},{v6}\{v_1,v_2,v_3,v_4\},\{v_5\},\{v_6\}

*:矩阵元素类型为0/10/1即布尔型

关联矩阵Mn×mM_{n\times m}

mij={1when ejvi出边1when ejvi入边0otherwisem_{ij}=\left\{\begin{aligned} &1 & \text{when }e_j\text{是}v_i\text{出边}\\ -&1 & \text{when }e_j\text{是}v_i\text{入边}\\ &0 & \text{otherwise}\\ \end{aligned}\right.

圈矩阵Cc×mC_{c\times m}

找出所有的圈,对于每个圈,任意指定一个正方向(顺时针/逆时针)。
其中

cij={1when ciej方向一致1when ciej方向相反0when ci不包含ejc_{ij}=\left\{\begin{aligned} &1 &\text{when $c_i$与$e_j$方向一致}\\ -&1 &\text{when $c_i$与$e_j$方向相反}\\ &0 &\text{when $c_i$不包含$e_j$}\\ \end{aligned}\right.

结论

CMT=0CM^T=0

平面图

定义

GG存在一种表示,使得其能被画在平面上,且点不重合,任意两条边不相交(更严谨地说是不在公共结点以外的地方相交)。

定理

  1. GG是平面图,则GG的任意子图也是平面图
  2. GG是不是平面图,则GG的任意母图也不是平面图
  3. Kn(n5),K3,n(n3)K_n(n\geq 5),K_{3,n}(n\geq 3)都不是平面图

值得注意的是,在图像外部也存在一个面。如上图所示F9F_9

面度

包围这个区域的边数。注意割边要算作两次。

握手定理?

deg(Fi)=2m\sum \deg(F_i)=2m

欧拉公式

对于面数为ff的连通平面图GG

nm+f=2n-m+f=2

推论:具有多个支的图的欧拉公式

nm+f=1+ω(G)n-m+f=1+\omega(G)

推论:平面图的必要性

m3n6m\leq 3n-6

进一步,还能推出:对于任意简单连通平面图,至少存在一个度数不超过5的节点。

圈长gg

其包含的最短圈的长度。如果无圈,认为其圈长为无穷大。

圈长与平面图的必要性

上述平面图必要性再进行推广,有:

mgn2gg2,(g2)m\leq \frac{gn-2g}{g-2},(g\geq 2)

判断平面图:细分

//TODO

对偶图

//TODO

欧拉图

GG是一个无向图,包含GG的每条边的简单道路称为欧拉道路。
包含GG的每条边的简单回路称为欧拉回路。
具有欧拉回路的图称为欧拉图。

欧拉图,简而言之:能不重复地一笔将整个图画完。

条件(无向图)

连通图GG是欧拉图,iff ,GG不含奇度数结点

非平凡连通图GG含欧拉道路,iff,GG最多有两个奇度数结点

条件(有向图)

连通图GG是欧拉图,iff,GG的每个结点的入度等于出度

连通有向图含欧拉道路,iff,GG最多有两个结点入度不等于出度(且一个入读比出度多一,一个入读比出度少一)。

哈密顿图

哈密顿道路:包含GG的每个结点的简单道路

哈密顿回路:包含GG的每个结点的圈

含有哈密顿圈的图称为哈密顿图。

充分条件(不是必要)

对于nn阶简单图GG.任意一对结点u,vu,v满足d(u)+d(v)nd(u)+d(v)\geq n,则GG必然含有哈密顿圈

对于n>3n>3阶简单图GG.任意一对结点u,vu,v满足d(u)+d(v)>nd(u)+d(v)>n,则GG必然是哈密顿图

闭包

若存在不相邻结点u,vu,v,使得d(u)+d(v)nd(u)+d(v)\geq n,则构造图G+uvG+uv

重复上述过程直至找不到这样的结点。

闭包与哈密顿图

一个简单图GG是哈密顿图,iff,GG的闭包是哈密顿图。