文章目录
第一章:基本概念
预备知识
无序积、笛卡尔积、多重集合
- 无序积: ( a , b ) ∣ a ∈ A a n d b ∈ B {(a,b)|a\in A \,and\, b\in B} (a,b)∣a∈Aandb∈B,记作 A & B A\&B A&B( A & B = B & A A\&B=B\&A A&B=B&A)
- 笛卡尔积: < a , b > ∣ a ∈ A , b ∈ B {<a,b>|a\in A,b\in B} <a,b>∣a∈A,b∈B,记作 A × B A\times B A×B)(只有 A = B A=B A=B时有 A × B = B × A A\times B=B\times A A×B=B×A)
- 多重集合:元素可以重复出现的集合(重复次数称为重复度)
无向图、有向图以及xx图
无向图
- 无向图:一个有序的二元组 < V , E > <V,E> <V,E>,记作 G G G, V ≠ ∅ V≠\varnothing V=∅ 顶点集,E为边集,是无序积 V & V V\&V V&V 的多重子集
有向图
- 有向图:一个有序的二元组 < V , E > <V,E> <V,E>,记作 D D D, V ≠ ∅ V≠\varnothing V=∅ 顶点集,E为边集,是笛卡尔序积 V × V V\times V V×V 的多重子集
若 ∣ V ( G ) ∣ = n |V(G)|=n ∣V(G)∣=n,则称 G G G为n阶图。如果 ∣ V ( G ) ∣ = n , ∣ E ( G ) ∣ = m |V(G)|=n,|E(G)|=m ∣V(G)∣=n,∣E(G)∣=m, G G G也表示为 ( n , m ) (n,m) (n,m)图
- 有限图: ∣ V ( G ) ∣ ∣ E ( G ) ∣ |V(G)|\quad|E(G)| ∣V(G)∣∣E(G)∣ 均为有限数的图
- 零图: E ( G ) = ∅ E(G)=\varnothing E(G)=∅ 此时若 G G G为 n n n阶图,则称 G G G为 n n n阶零图,记作 N n N_{n} Nn
- 平凡图: N 1 N_{1} N1
- 空图:顶点集为空的图( ∅ \varnothing ∅)
- 标定图与非标定图:顶点或边(没)用字母标定的图(常用 e k e_{k} ek表示无向边 ( V i , v j ) (V_{i},v_{j}) (Vi,vj)有向边 < v i , v j > <v_{i},v_{j}> <vi,vj>)
- 基图:将有向图各有向边改成无向边后的无向图(为原图的…)
- 简单图:既不含平行边也不含环的图
- 多重图:含平行边的图
平行边:无向图中,关联一对顶点的无向边如果多于1条,就称这些边为平行边;有向图中,关联一对顶点的无向边如果多于1条,且这些边的始点和终点相同
- 正则图:若对 ∀ v ∈ V \forall v\in V ∀v∈V, d ( v ) = k d(v)=k d(v)=k ,则称 G G G为k-正则图
- 无向完全图:设 G G G为 n n n阶无向简单图,若 G G G中的每个顶点均与其余的 n − 1 n-1 n−1个顶点相邻,则称 G G G为 n n n阶无向完全图,简称 n n n阶完全图。在同构意义下, n n n个顶点的完全图只有一个,记作 K n ( n ⩾ 1 ) K_n(n\geqslant1) Kn(n⩾1)。
- 有向完全图:设 D D D为 n n n阶有向简单图,若 D D D中的每个顶点都邻接到其余的 n − 1 n-1 n−1个顶点,又邻接于其余的 n − 1 n-1 n−1个顶点,则称 D D D为 n n n阶有向完全图。
- n阶竞赛图:设 D D D为 n n n阶有向简单图,若 D D D的基图为 n n n阶无向完全图 K n K_n Kn,则称 D D D是 n n n阶竞赛图。
结论:
- n阶无向完全图的边数为: n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n−1)
- n阶有向完全图的边数为: n ( n − 1 ) n(n-1) n(n−1)
- n阶竞赛图的边数为: n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n−1)
- 补图:设
G
=
<
V
,
E
>
G=<V,E>
G=<V,E>为
n
n
n阶无向简单图,
E
1
=
{
u
v
∣
u
≠
v
,
u
,
v
∈
V
}
E_1=\{uv|u\neq v,u,v\in V\}
E1={uv∣u=v,u,v∈V},称
H
=
(
V
,
E
1
\
E
)
H=(V,E_1\backslash E)
H=(V,E1\E)称为
G
G
G的补图,记作
G
ˉ
\bar{G}
Gˉ或者
G
c
G^c
Gc。若图
G
≅
G
ˉ
G\cong\bar{G}
G≅Gˉ,则称
G
G
G为自补图。(补图就像是给原图的边关系做了一个"反转",原来相连的现在不连,原来不连的现在相连。)
- 定理:若 n n n阶图 G G G是自补图则有 n = 0 , 1 m o d 4 n=0,1\mod4 n=0,1mod4。(证明通过G与其补图边数之和等于n阶完全图的边数)
- 二部图(两分图、偶图):设 G = < V , E > G=<V,E> G=<V,E>为一个无向图,若能将 V V V分成 V 1 V_1 V1和 V 2 V_2 V2两部分,其中 V 1 ∪ V 2 = V , V 1 ∩ V 2 = ∅ V_1\cup V_2=V,V_1\cap V_2=\varnothing V1∪V2=V,V1∩V2=∅,使得 G G G中的每条边的两个端点都是一个属于 V 1 V_1 V1,另一个属于 V 2 V_2 V2,则称 G G G为二部图(二分图、偶图),称 V 1 V_1 V1和 V 2 V_2 V2为互补顶点子集。常将二部图 G G G记为 < V 1 , V 2 , E > <V_1,V_2,E> <V1,V2,E>
- 完全二部图:若 G G G是简单二部图, V 1 V_1 V1中每个顶点均与 V 2 V_2 V2中的所有顶点相邻,则称 G G G为完全二部图,记为 K r , s K_{r,s} Kr,s,其中 r = ∣ V 1 ∣ , s = ∣ V 2 ∣ r=|V_1|,s=|V_2| r=∣V1∣,s=∣V2∣。
注意:
n n n阶零图为二部图。
K 1 , n K_{1,n} K1,n也叫做星, K 1 , 3 K_{1,3} K1,3也叫做爪图。
-
多部图:设 G = < V , E > G=<V,E> G=<V,E>为一个无向图,若能将 V V V分成 V 1 , V 2 , … , V k V_1,V_2,\ldots,V_k V1,V2,…,Vk k k k部分,其中 V 1 ∪ V 2 ∪ ⋯ ∪ V k = V , V i ∩ V j = ∅ , ∀ i , j V_1\cup V_2\cup\cdots\cup V_k=V,V_i\cap V_j=\varnothing,\forall i,j V1∪V2∪⋯∪Vk=V,Vi∩Vj=∅,∀i,j,使得 G G G中的每条边的两个端点都是一个属于 V i V_i Vi,另一个属于 V j V_j Vj,则称 G G G为** k k k部图**。常将 k k k部图 G G G记为 < V 1 , V 2 , … , V k , E > <V_1,V_2,\ldots,V_k,E> <V1,V2,…,Vk,E>。
-
完全多部图:若 G G G是简单 k k k部图, V i V_i Vi中每个顶点均与 V j V_j Vj中的所有顶点相邻,则称 G G G为完全 k k k部图,记为 K r 1 , r 2 , … , r k K_{r_1,r_2,\ldots,r_k} Kr1,r2,…,rk,其中 r i = ∣ V i ∣ r_i=|V_i| ri=∣Vi∣。
-
边图(线图):设 G G G是一个无环图,边图 L ( G ) L(G) L(G)这样构成。将 E ( G ) E(G) E(G)中的每条边作为 L ( G ) L(G) L(G)的顶点集,即 V ( L ( G ) ) = E ( G ) V(L(G))=E(G) V(L(G))=E(G), L ( G ) L(G) L(G)中的两项相邻当且仅当它们是 G G G中的两条相邻的边。
-
线图顶点的度数: d L ( G ) ( u v ) = d G ( u ) + d G ( v ) − 2 d_{L(G)}(uv)=d_G(u)+d_G(v)-2 dL(G)(uv)=dG(u)+dG(v)−2(uv对应的顶点数为除uv这条边以外的与u,v相邻的边的条数之和)
-
线图的边数: ∣ E ( L ( G ) ) ∣ = ∑ v ∈ G C d G ( v ) 2 |E(L(G))|=\sum\limits_{v\in G}C_{d_G(v)}^2 ∣E(L(G))∣=v∈G∑CdG(v)2(定义证明与握手定理证明)
-
线图总是无爪图,即线图的所有导出子图均不是 K 1 , 3 K_{1,3} K1,3
-
G ≅ L ( G ) G\cong L(G) G≅L(G)当且仅当 G G G是一个圈。
-
若 G ≅ H G\cong H G≅H,则 L ( G ) ≅ L ( H ) L(G)\cong L(H) L(G)≅L(H)。在他们都不是三角形 K 3 K_3 K3或爪形 K 1 , 3 K_{1,3} K1,3时,若 L ( G ) ≅ L ( H ) L(G)\cong L(H) L(G)≅L(H),则 G ≅ H G\cong H G≅H。
-
多次应用线图: L n ( G ) = L ( L n − 1 ( G ) ) L^n(G)=L(L^{n-1}(G)) Ln(G)=L(Ln−1(G))。
-
-
子图:设 G = < V , E > , G ′ = < V ′ , E ′ > G=<V,E>,G'=<V',E'> G=<V,E>,G′=<V′,E′>为两个图(同为无向图或同为有向图),若 V ′ ⊆ V V'\subseteq V V′⊆V且 E ′ ⊆ E E'\subseteq E E′⊆E,则称 G ′ G' G′是 G G G的子图, G G G为 G ′ G' G′的母图,记作 G ′ ⊆ G G'\subseteq G G′⊆G。
- 真子图:若 V ′ ⊂ V V'\subset V V′⊂V或 E ′ ⊂ E E'\subset E E′⊂E,则称 G ′ G' G′为 G G G的真子图
- 若 V ′ = V V'=V V′=V,则称 G ′ G' G′为 G G G的生成子图(支撑子图)
定义中一定要保证 G ′ G' G′是图这个前提
-
导出子图:
- 设 G = < V , E > G=<V,E> G=<V,E>为一图, V 1 ⊂ V V_1\subset V V1⊂V且 V 1 ≠ ∅ V_1\neq\varnothing V1=∅,称以 V 1 V_1 V1为顶点集,以 G G G中两个端点都在 V 1 V_1 V1中的边组成边集 E 1 E_1 E1的图为 G G G的 V 1 V_1 V1导出的子图,记作 G [ V 1 ] G[V_1] G[V1]。
- 设 G = < V , E > G=<V,E> G=<V,E>为一图, E 1 ⊂ E E_1\subset E E1⊂E且 E 1 ≠ ∅ E_1\neq\varnothing E1=∅,称以 E 1 E_1 E1为边集,以 E 1 E_1 E1中边关联的顶点为顶点集 V 1 V_1 V1的图为 G G G的 E 1 E_1 E1导出的子图,记作 G [ E 1 ] G[E_1] G[E1]。
关联与关联次数、环、孤立点
- 关联:边 e k e_{k} ek与其两个端点 V i , V j V_{i},V_{j} Vi,Vj彼此关联
- 关联次数: v i = v j → v_{i}=v_{j}\rightarrow vi=vj→ 关联次数为2, e k e_{k} ek为环; v i ≠ v j → v_{i}≠v_{j}\rightarrow vi=vj→关联次数为1; ∀ v l ∈ V , i f v l ∉ { v i , v j } \forall v_{l}\in V,if\,v_{l}\notin \{v_{i},v_{j}\} ∀vl∈V,ifvl∈/{vi,vj},关联次数为0
- 孤立点:无边关联的点(无向图、有向图定义均一致)
相邻与邻接
- 相邻:在无向图中, ∃ e t ∈ E , s . t . e t = ( v i , v j ) \exists e_{t}\in E,s.t.\,e_{t}=(v_{i},v_{j}) ∃et∈E,s.t.et=(vi,vj), 则 v i v_{i} vi与 v j v_{j} vj相邻;若 ∃ v u ∈ V ( G ) , v u = e k ∩ e l \exists v_{u}\in V(G),v_{u}=e_{k}\cap e_{l} ∃vu∈V(G),vu=ek∩el,则称两边相邻
- 邻接:在有向图中, ∃ e t ∈ E , s . t . e t = < v i , v j > \exists e_{t}\in E,s.t.\,e_{t}=<v_{i},v_{j}> ∃et∈E,s.t.et=<vi,vj>,则称 v i v_{i} vi为 e t e_{t} et的始点, v j v_{j} vj为 e t e_{t} et的终点,并称 v i v_{i} vi邻接到 v j v_{j} vj, v j v_{j} vj邻接于 v i v_{i} vi; 若 e k e_{k} ek的终点为 e l e_{l} el的始点,则称 e k e_{k} ek与 e l e_{l} el相邻
邻域
-
设无向图 G = < V , E > G=<V,E> G=<V,E>, ∀ v ∈ V \forall v \in V ∀v∈V,称 { u ∣ u ∈ V ∧ ( u , v ) ∈ E ∧ u ≠ v } \{u|u \in V \wedge (u,v) \in E \wedge u \neq v\} {u∣u∈V∧(u,v)∈E∧u=v}为 v v v的邻域,记作 N G ( v ) N_G(v) NG(v)。称 N G ( v ) ∪ { v } N_G(v) \cup \{v\} NG(v)∪{v}为 v v v的闭邻域,记作 N ˉ G ( v ) \bar{N}_G(v) NˉG(v)。称 { e ∣ e ∈ E ∧ e 与 v 相关联 } \{e|e \in E \wedge e与v相关联\} {e∣e∈E∧e与v相关联}为 v v v的关联集,记作 I G ( v ) I_G(v) IG(v)。
-
设有向图 D = < V , E > D=<V,E> D=<V,E>, ∀ v ∈ V \forall v \in V ∀v∈V,称 { u ∣ u ∈ V ∧ < v , u > ∈ E ∧ u ≠ v } \{u|u \in V \wedge <v,u> \in E \wedge u \neq v\} {u∣u∈V∧<v,u>∈E∧u=v}为 v v v的后继元集,记作 Γ D + ( v ) \Gamma^+_D(v) ΓD+(v)。称 { u ∣ u ∈ V ∧ < u , v > ∈ E ∧ u ≠ v } \{u|u \in V \wedge <u,v> \in E \wedge u \neq v\} {u∣u∈V∧<u,v>∈E∧u=v}为 v v v的先驱元集,记作 Γ D − ( v ) \Gamma^-_D(v) ΓD−(v)。称 Γ D + ( v ) \Gamma^+_D(v) ΓD+(v)为 v v v的出邻域, Γ D − ( v ) \Gamma^-_D(v) ΓD−(v)为 v v v的入邻域。 Γ D + ( v ) ∪ Γ D − ( v ) \Gamma^+_D(v)\cup\Gamma^-_D(v) ΓD+(v)∪ΓD−(v)为 v v v的邻域,记作 N D ( v ) N_D(v) ND(v)。称 N D ( v ) ∪ { v } N_D(v) \cup \{v\} ND(v)∪{v}为 v v v的闭邻域,记作 N ˉ D ( v ) \bar{N}_D(v) NˉD(v)。
-
子集的邻域: V V V的子集 S S S的邻域: N ( S ) = ⋃ v ∈ S N ( v ) ∀ S ⊆ V N(S)=\bigcup\limits_{v \in S}N(v) \quad \forall S \subseteq V N(S)=v∈S⋃N(v)∀S⊆V
注意区分概念:相邻、邻接、关联、邻域
顶点的度
- 定义: d G ( v ) d_{G}(v) dG(v)表示与顶点 v v v相关联的边的次数(环计算两次)
d ( v ) ≠ ∣ N ( v ) ∣ d(v)\neq|N(v)| d(v)=∣N(v)∣ v v v上有环或者与 v v v关联的边有重边时不对
- 有向图: d D + ( v ) d^{+}_{D}(v) dD+(v)为出度(边的始点次数), d D − ( v ) d_{D}^{-}(v) dD−(v)为入度(边的终点次数), d ( v ) = d + ( v ) + d − ( v ) d(v)=d^{+}(v)+d^{-}(v) d(v)=d+(v)+d−(v)
某个点上的有向环要对这个点计算一次入度计算一次出度
- 最大度: Δ ( G ) = max { d ( v ) ∣ v ∈ V ( G ) } \Delta(G)=\max\{d(v)|v\in V(G)\} Δ(G)=max{d(v)∣v∈V(G)}, 最大出(入)度: Δ + ( − ) ( D ) = max { d + ( − ) ( v ) ∣ v ∈ V ( D ) } \Delta^{+(-)}(D)=\max\{d^{+(-)}(v)|v\in V(D)\} Δ+(−)(D)=max{d+(−)(v)∣v∈V(D)}
- 最小度: δ ( G ) = min { d ( v ) ∣ v ∈ V ( G ) } \delta(G)=\min\{d(v)|v\in V(G)\} δ(G)=min{d(v)∣v∈V(G)}, 最小出(入)度: δ + ( − ) ( D ) = min { d + ( − ) ( v ) ∣ v ∈ V ( D ) } \delta^{+(-)}(D)=\min\{d^{+(-)}(v)|v\in V(D)\} δ+(−)(D)=min{d+(−)(v)∣v∈V(D)}
- 悬挂顶点与悬挂边:度数为1的顶点,与悬挂顶点关联的边
- 偶度(奇度)顶点:度为偶数(奇数)
握手定理
- 定义1:设 G = < V , E > G=<V,E> G=<V,E> 为任意无向图, V = { v 1 , v 2 , … , v n } V=\{v_{1},v_{2},\dots,v_{n}\} V={v1,v2,…,vn}, ∣ E ∣ = m |E|=m ∣E∣=m 则有
∑ i = 1 n d ( v i ) = 2 m \sum_{i=1}^{n}d(v_{i})=2m i=1∑nd(vi)=2m
- 定义2:设 D = < V , E > D=<V,E> D=<V,E>为任意有向图, V = { v 1 , v 2 , … , v n } V=\{v_{1},v_{2},\dots,v_{n}\} V={v1,v2,…,vn}, ∣ E ∣ = m |E|=m ∣E∣=m 则有
∑ i = 1 n d ( v i ) = 2 m a n d ∑ i = 1 n d + ( v i ) = ∑ i = 1 n d − ( v i ) = m \sum_{i=1}^{n}d(v_{i})=2m\quad and \quad \sum^{n}_{i=1}d^{+}(v_{i})=\sum^{n}_{i=1}d^{-}(v_{i})=m i=1∑nd(vi)=2mandi=1∑nd+(vi)=i=1∑nd−(vi)=m
-
证明:分为简单图和非简单图来证明(非简单图转化到简单图的证法)
-
推论1:任意图中,奇度顶点的个数为偶数
-
证明:
设 G = < V , E > G=<V,E> G=<V,E>为任意一图,令
V 1 = { v ∣ v ∈ V ∧ d ( v ) 为奇数 } V_1 = \{v | v \in V \land d(v) \text{为奇数}\} V1={v∣v∈V∧d(v)为奇数}V 2 = { v ∣ v ∈ V ∧ d ( v ) 为偶数 } V_2 = \{v | v \in V \land d(v) \text{为偶数}\} V2={v∣v∈V∧d(v)为偶数}
则 V 1 ∪ V 2 = V V_1 \cup V_2 = V V1∪V2=V, V 1 ∩ V 2 = ∅ V_1 \cap V_2 = \varnothing V1∩V2=∅,由握手定理可知
2 m = ∑ v ∈ V d ( v ) = ∑ v ∈ V 1 d ( v ) + ∑ v ∈ V 2 d ( v ) 2m = \sum_{v \in V} d(v) = \sum_{v \in V_1} d(v) + \sum_{v \in V_2} d(v) 2m=v∈V∑d(v)=v∈V1∑d(v)+v∈V2∑d(v)由于 2 m 2m 2m 和 ∑ v ∈ V d ( v ) \sum\limits_{v \in V}d(v) v∈V∑d(v),所以 d ( v ) d(v) d(v)为偶数,
∑ v ∈ V d ( v ) 为偶数 \sum_{v \in V} d(v) \text{为偶数} v∈V∑d(v)为偶数但因 V 1 V_1 V1 中顶点度数为奇数,所以 ∣ V 1 ∣ |V_1| ∣V1∣ 必为偶数。
-
-
推论2:正则图的阶数和度数不能同时为奇数
- 证明:设 G G G是k-正则图,且顶点数为 n n n,边数为 m m m,由握手定理知: 2 m = k n 2m=kn 2m=kn 由于 2 m 2m 2m是偶数,则 k , n k,n k,n中至少有一个为偶数。 Q . E . D . Q.E.D. Q.E.D.
-
推论3: δ ≤ 2 m n ≤ Δ \delta \leq \frac{2m}{n}\leq \Delta δ≤n2m≤Δ 其中 δ \delta δ为最小度, Δ \Delta Δ最大度(握手定理证明)
度序列
- 定义: d ( v i ) , i ∈ [ 1 , n ] d(v_{i}),i\in [1,n] d(vi),i∈[1,n] (是图的“拓扑不变量”—对于与图G同构的所有图来说不会发生改变)
- 有向图的出度列和入度列
- 性质:一个简单图G的n个点的度不能互不相同(证明分孤立点个数、鸽笼原理)
图的同构
-
定义:设 G 1 = < V 1 , E 1 > , G 2 = < V 2 , E 2 > G_1=<V_1,E_1>,G_2=<V_2,E_2> G1=<V1,E1>,G2=<V2,E2>为两个无向图,若存在双射函数 f : V 1 → V 2 f:V_1\to V_2 f:V1→V2,使得对于任意的 v i , v j ∈ V 1 , ( v i , v j ) ∈ E 1 v_i,v_j\in V_1,(v_i,v_j)\in E_1 vi,vj∈V1,(vi,vj)∈E1当且仅当 ( f ( v i ) , f ( v j ) ) ∈ E 2 (f(v_i),f(v_j))\in E_2 (f(vi),f(vj))∈E2,并且 ( v i , v j ) (v_i,v_j) (vi,vj)与 ( f ( v i ) , f ( v j ) ) (f(v_i),f(v_j)) (f(vi),f(vj))的重数相同,则称 G 1 G_1 G1与 G 2 G_2 G2是同构的,记作 G 1 ≅ G 2 G_1\cong G_2 G1≅G2。图的同构关系是等价关系。
-
简单的来说,图的同构就像是两张纸画的两个图形,如果可以通过折叠、拉伸但不撕裂或重叠,使得它们的形状完全一致,那么这两个图形就是同构的。
-
必要条件:
- 顶点数相同
- 边数相同
- 关联边数相同的顶点数相同
-
单星妖怪(Petersen图,常用作反例)
图序列
图序列
- 任何一个图都有一个非负整数列为其度序列。
- 可图化:对于给定的非负整数列 d = { d 1 , d 2 , … , d n } d=\{d_1,d_2,\ldots,d_n\} d={d1,d2,…,dn},若存在以 V = { v 1 , v 2 , … , v n } V=\{v_1,v_2,\ldots,v_n\} V={v1,v2,…,vn}为顶点集的 n n n阶无向图 G G G,使得 d ( v i ) = d i d(v_i)=d_i d(vi)=di,则称 d d d是可图化的(或者称 d d d为图序列)
- 判定定理:非负整数列 d = ( d 1 , d 2 , … , d n ) d=(d_1,d_2,\ldots,d_n) d=(d1,d2,…,dn)是一个图的度序列当且仅当 ∑ j = 1 n d j ≡ 0 ( m o d 2 ) \sum_{j=1}^{n}d_j\equiv0(\mod2) ∑j=1ndj≡0(mod2)。
度序列的简单图化
- 定义:一个非负整数组 d d d如果是某个简单图的度序列,我们称它为简单图序列或者称可简单图化。
简单图序列的条件
充要条件
- 定理:若
d
1
,
d
2
,
…
,
d
n
d_1,d_2,\ldots,d_n
d1,d2,…,dn是简单图的次序列,且
d
1
≥
d
2
≥
…
≥
d
n
d_1\geq d_2\geq\ldots\geq d_n
d1≥d2≥…≥dn,则
∑
i
=
1
n
d
i
\sum_{i=1}^{n}d_i
∑i=1ndi是偶数,且对
1
≤
k
≤
n
1\leq k\leq n
1≤k≤n。
∑ i = 1 k d i ⩽ k ( k − 1 ) + ∑ i = k + 1 n min { k , d i } \sum_{i=1}^{k}d_i\leqslant k(k-1)+\sum_{i=k+1}^{n}\min\{k,d_i\} i=1∑kdi⩽k(k−1)+i=k+1∑nmin{k,di}
必要条件
- 定理:设 G G G为任意 n n n阶无向简单图,则 Δ ( G ) ⩽ n − 1 \Delta(G)\leqslant n-1 Δ(G)⩽n−1
- 作用:快速判断某些非负整数列不是简单图的度序列
结论总结
- 总结:虽然有判断一个非负整数列是否可简单图化的充要条件,但即使判断能简单图化,也没有有效的算法计数及构造,但对小规模的数组, 我们可以采用「枚举+性质」等方式来构造出所有的简单图。构造过程中可以通过拿掉最小度数点和最大度数点简化情况。
- 思路:先判断是否为图序列 ∑ j = 1 n d j ≡ 0 ( m o d 2 ) \sum_{j=1}^{n}d_j\equiv0(\mod2) ∑j=1ndj≡0(mod2) ,再判断简单图序列的必要条件
简单图化的算法
- 定理:设 π = ( d 1 , d 2 , … , d n ) \pi=(d_1,d_2,\ldots,d_n) π=(d1,d2,…,dn)是非负整数的非增序列, π 1 \pi_1 π1是序列 d 2 − 1 , d 3 − 1 , … , d d 1 + 1 − 1 , d d 1 + 2 , … , d n d_2-1,d_3-1,\ldots,d_{d_1+1}-1,d_{d_1+2},\ldots,d_n d2−1,d3−1,…,dd1+1−1,dd1+2,…,dn,则 π \pi π是简单图次序列的充要条件是 π 1 \pi_1 π1是简单图次序列。(迭代使用)
图运算
图的删边删点运算
删边运算
- 设 G = < V , E > G=<V,E> G=<V,E>为无向图,设 e ∈ E e\in E e∈E,用 G − e G-e G−e表示从 G G G中去掉边 e e e,称为删除 e e e。设 E ′ ⊂ E E'\subset E E′⊂E,用 G − E ′ G-E' G−E′表示从 G G G中删除 E ′ E' E′中所有的边,称为删除 E ′ E' E′。
删点运算
- 设 G = < V , E > G=<V,E> G=<V,E>为无向图,设 v ∈ V v\in V v∈V,用 G − v G-v G−v表示从 G G G中去掉 v v v及 v v v所关联的一切边,称为删除顶点 v v v。设 V ′ ⊂ V V'\subset V V′⊂V,用 G − V ′ G-V' G−V′表示从 G G G中删除 V ′ V' V′中所有顶点,称为删除 V ′ V' V′
说明:
- 删边只删边,保留顶点,而删点必须删除这个点及与这个点关联的所有边
- 删边相当于道路网络中某条主干道坏了,删点则是坏掉一个十字路口
图的边收缩、加边运算
边收缩
- 设边 e = ( u , v ) ∈ E e=(u,v)\in E e=(u,v)∈E,用 G \ e G\backslash e G\e表示从 G G G中删除 e e e后,将 e e e的两个端点 u , v u,v u,v用一个新的顶点 w w w(或用 u u u或 v v v充当 w w w)代替,使 w w w关联除 e e e外 u , v u,v u,v关联的所有边,称为边 e e e的收缩
加边运算
- 设 u , v ∈ V u,v\in V u,v∈V( u , v u,v u,v可能相邻,也可能不相邻),用 G ∪ ( u , v ) G\cup(u,v) G∪(u,v)(或 G + ( u , v ) G+(u,v) G+(u,v))表示在 u , v u,v u,v之间加一条边 ( u , v ) (u,v) (u,v),称为加新边
在收缩边和加新边过程中可能产生环和平行边。收缩边时一定会产生环,为了和原图的环区别,一般这个环都不记录。当还原成原图只需记录那些边被收缩了
图不交、边不交
- 设 G 1 = < V 1 , E 1 > , G 2 = < V 2 , E 2 > G_1=<V_1,E_1>,G_2=<V_2,E_2> G1=<V1,E1>,G2=<V2,E2>为两个图。
- 若 V 1 ∩ V 2 = ∅ V_1\cap V_2=\varnothing V1∩V2=∅,则称 G 1 G_1 G1与 G 2 G_2 G2是不交的
- 若 E 1 ∩ E 2 = ∅ E_1\cap E_2=\varnothing E1∩E2=∅,则称 G 1 G_1 G1与 G 2 G_2 G2是边不交的或边不重的。
- 不交的图,必然是边不交的,但反之不真。
图的并、差、交、环和
- 设
G
1
=
<
V
1
,
E
1
>
,
G
2
=
<
V
2
,
E
2
>
G_1=<V_1,E_1>,G_2=<V_2,E_2>
G1=<V1,E1>,G2=<V2,E2>为不含孤立点的两个图(同为无向图或同为有向图)。
- 称以 E 1 ∪ E 2 E_1\cup E_2 E1∪E2为边集,以 E 1 ∪ E 2 E_1\cup E_2 E1∪E2中边关联的顶点组成的集合为顶点集的图为 G 1 G_1 G1与 G 2 G_2 G2的并图,记作 G 1 ∪ G 2 G_1\cup G_2 G1∪G2。
- 称以 E 1 − E 2 E_1-E_2 E1−E2为边集,以 E 1 − E 2 E_1-E_2 E1−E2中边关联的顶点组成的集合为顶点集的图为 G 1 G_1 G1与 G 2 G_2 G2的差图,记作 G 1 − G 2 G_1-G_2 G1−G2。
- 称以 E 1 ∩ E 2 E_1\cap E_2 E1∩E2为边集,以 E 1 ∩ E 2 E_1\cap E_2 E1∩E2中边关联的顶点组成的集合为顶点集的图为 G 1 G_1 G1与 G 2 G_2 G2的交图,记作 G 1 ∩ G 2 G_1\cap G_2 G1∩G2。
- 称以 E 1 ⊕ E 2 E_1\oplus E_2 E1⊕E2为边集,以 E 1 ⊕ E 2 E_1\oplus E_2 E1⊕E2中边关联的顶点组成的集合为顶点集的图为 G 1 G_1 G1与 G 2 G_2 G2的环和,记作 G 1 ⊕ G 2 G_1\oplus G_2 G1⊕G2。
图的联运算
- 设 G 1 , G 2 G_1,G_2 G1,G2是两个不相交的图,作 G 1 ∪ G 2 G_1\cup G_2 G1∪G2,并且将 G 1 G_1 G1中的每个顶点和 G 2 G_2 G2中的每个顶点连接,这样得到的新图称为 G 1 G_1 G1与 G 2 G_2 G2的联图,记为 G 1 ∨ G 2 G_1\vee G_2 G1∨G2。
路与圈
路与圈
-
G G G的一条**通路(或通道或途径)**是指一个有限非空序列 w = v 0 e 1 v 1 e 2 v 2 … e k v k w=v_0e_1v_1e_2v_2\ldots e_kv_k w=v0e1v1e2v2…ekvk,交替为顶点和边,使得对于任意的 i ( 1 ⩽ i ⩽ k ) i(1\leqslant i\leqslant k) i(1⩽i⩽k), e i e_i ei的端点是 v i − 1 v_{i-1} vi−1和 v i v_i vi。通路中边数称为通路的长度。 v 0 , v k v_0,v_k v0,vk分别称为通路的起点与终点,其余顶点称为通路的内部点。
-
边不重复(或各边相异)的通路称为图的一条迹(行迹)。
-
顶点不重复的通路称为图的一条路(或轨道)。
注:顶点不重边一定不重,边不重顶点不一定不重。
-
起点与终点重合的途径、迹、路分别称为图的闭途径、闭迹与圈。闭迹也称为回路。
注:简单来说就是一般,边不重,点不重。
-
长度为 k k k的圈称为 k k k圈, k k k为奇数时称为奇圈, k k k为偶数时称为偶圈。长度相同的圈都是同构的。
-
图中 u u u与 v v v间最短路的长度称为顶点 u u u与 v v v间的距离,记作 d ( u , v ) d(u,v) d(u,v)。如果 u u u与 v v v间不存在路,定义 d ( u , v ) = ∞ d(u,v)=\infty d(u,v)=∞。
注:对于没加权图而言,路的长度指路上边的条数。对于加权图而言,路的长度指路上的边权之和。距离是最短路的长度。
路与圈的性质
- 定理:在 n n n阶图 G G G中,若从顶点 v i v_i vi到 v j ( v i ≠ v j ) v_j(v_i\neq v_j) vj(vi=vj)存在通路,则从 v i v_i vi到 v j v_j vj一定存在长度小于等于 n − 1 n-1 n−1的顶点不重复的路。
- 定理:在
n
n
n阶图
G
G
G中,若存在
v
i
v_i
vi到自身的回路,则一定存在
v
i
v_i
vi到自身长度小于等于
n
n
n的回路。
- 推论:在 n n n阶图 G G G中,若存在 v i v_i vi到自身边不重的回路,则一定存在 v i v_i vi到自身长度小于等于 n n n的圈。
扩大路径法
- 设
G
=
<
V
,
E
>
G=<V,E>
G=<V,E>为
n
n
n阶无向图,
E
≠
∅
E\neq\varnothing
E=∅,设
Γ
l
\Gamma_l
Γl为
G
G
G中的一条路径,若此路径的始点或终点与通路外的顶点相邻,就将它们扩到通路中来。继续这一过程,直到最后得到的通路的两个端点不与通路外的顶点相邻为止。设最后得到的路径为
Γ
l
+
k
\Gamma_{l+k}
Γl+k,称为极大路径。有向图需要注意在每步扩大中保持有向边方向的一致性。
- 由某条路经扩大出的极大路径不唯一。
- 最长路径一定是极大路径。
- 极大路径不一定是图中最长的路径。
简单的结论:
- 若简单图 G G G的最小度数 δ ( G ) ⩾ 2 \delta(G)\geqslant2 δ(G)⩾2,则 G G G中存在圈。若简单图 G G G的最小度数 δ ( G ) ⩾ k \delta(G)\geqslant k δ(G)⩾k,则 G G G中存在长度为 k k k的路。
- ⭐️设 G G G为 n ( n ⩾ 3 ) n(n\geqslant3) n(n⩾3)阶无向简单图, δ ( G ) ⩾ 2 \delta(G)\geqslant2 δ(G)⩾2,则 G G G中存在至少长度大于等于 δ + 1 \delta+1 δ+1的圈。
- 若 G G G是简单图, δ ( G ) ⩾ 3 \delta(G)\geqslant3 δ(G)⩾3,则 G G G中各圈长的最大公约数是1或者2。圈的长度 i + 1 , j + 1 , j − i + 2 ( j > i ⩾ 2 ) i+1,j+1,j-i+2(j>i\geqslant2) i+1,j+1,j−i+2(j>i⩾2)。
连通性
-
设无向图 G = < V , E > G=<V,E> G=<V,E>, ∀ u , v ∈ V \forall u,v\in V ∀u,v∈V,若 u , v u,v u,v之间存在通路,则称 u , v u,v u,v是连通的,记作 u ∼ v u\sim v u∼v。
∀ v ∈ V \forall v\in V ∀v∈V,规定 v ∼ v v\sim v v∼v。
-
若无向图 G G G是平凡图或 G G G中任意两个顶点都是连通的,则称 G G G为连通图,否则则称 G G G是非连通图。
完全图 K n ( n ⩾ 1 ) K_{n}(n\geqslant1) Kn(n⩾1)都是连通图。零图 N n ( n ⩾ 2 ) N_{n}(n\geqslant2) Nn(n⩾2)都是非连通图。
连通图与连通分支
-
设无向图 G = < V , E > G=<V,E> G=<V,E>,如果 V V V能划分成 { V 1 , V 2 , … , V k } \{V_{1},V_{2},\ldots,V_{k}\} {V1,V2,…,Vk},当且仅当两顶点在同一子集时才连通,则称导出子图 G [ V i ] ( i = 1 , 2 , … , k ) G[V_{i}](i=1,2,\ldots,k) G[Vi](i=1,2,…,k)为 G G G的连通分支,连通支数 k k k常记为 ω ( G ) \omega(G) ω(G)。
图 G G G的每个连通分支即为图的极大连通子图。
若 G G G为连通图,则 ω ( G ) = 1 \omega(G)=1 ω(G)=1。若 G G G为非连通图,则 ω ( G ) ⩾ 2 \omega(G)\geqslant2 ω(G)⩾2。
在所有的 n n n阶无向图中, n n n阶零图是连通分支数最多的,为 n n n。
例:在 n n n阶连通图中(1)至少有 n − 1 n-1 n−1条边;(2)如果恰有 n − 1 n-1 n−1条边,则至少有一个奇度点(悬挂点)。
例:在仅两个奇次顶的图中,其二奇次顶连通。
例:若 G G G是简单图,且 m > C n − 1 2 m>C_{n-1}^{2} m>Cn−12,其中 m m m为图 G G G的边数, n n n为顶点数,则 G G G是连通图。
( C k 2 + C n − k 2 ⩽ C n − 1 2 C_{k}^{2}+C_{n-k}^{2}\leqslant C_{n-1}^{2} Ck2+Cn−k2⩽Cn−12)
例:若 G G G是 δ ⩾ [ n 2 ] \delta\geqslant\left[\frac{n}{2}\right] δ⩾[2n]的简单图,则 G G G是连通图。
例:若 G G G是连通简单图, G G G不是完全图,则 G G G中有三个顶点 u , v , w u,v,w u,v,w使得 u v ∈ E ( G ) , v w ∈ E ( G ) , u w ∉ E ( G ) uv\in E(G),vw\in E(G),uw\notin E(G) uv∈E(G),vw∈E(G),uw∈/E(G)
-
性质:若图 G G G不连通,则其补图连通。等价于 G G G与其补图不能同时不连通。或者 G G G与其补图至少一个是连通图
-
性质: G G G是连通图当且仅当 V ( G ) V(G) V(G)的每个分成非空子集 V 1 V_{1} V1与 V 2 V_{2} V2的划分,总存在一条边,两端分别属于 V 1 V_{1} V1与 V 2 V_{2} V2
周长、围长、半径、直径
-
设 u , v u,v u,v为无向图 G G G中任意两个顶点,若 u ∼ v u\sim v u∼v,称 u , v u,v u,v之间长度最短的通路为 u , v u,v u,v之间的最短路,最短路的长度称为 u , v u,v u,v之间的距离,记作 d ( u , v ) d(u,v) d(u,v)。当 u , v u,v u,v不连通时,规定 d ( u , v ) = ∞ d(u,v)=\infty d(u,v)=∞。
完全图 K n ( n ⩾ 2 ) K_{n}(n\geqslant2) Kn(n⩾2)中任何两个顶点之间的距离都是1;零图 N n ( n ⩾ 2 ) N_{n}(n\geqslant2) Nn(n⩾2)中,任何两个顶点之间的距离都是 ∞ \infty ∞
-
简单图中最长圈的圈长称为该图的周长。
-
简单图中最短圈的圈长称为该图的围长。
-
图中两顶点距离的最大值称为该图的直径,记为 d ( G ) d(G) d(G),即 d ( G ) = max { d ( u , v ) ∣ ∀ u , v ∈ V ( G ) } d(G)=\max\{d(u,v)|\forall u,v\in V(G)\} d(G)=max{d(u,v)∣∀u,v∈V(G)}。
-
使得 max v ∈ V ( G ) d ( u , v ) \max_{v\in V(G)}d(u,v) maxv∈V(G)d(u,v)最小的顶点称为图的中心。
-
图的半径记为 r ( G ) r(G) r(G),即 r ( G ) = min u ∈ V ( G ) max v ∈ V ( G ) d ( u , v ) r(G)=\min_{u\in V(G)}\max_{v\in V(G)}d(u,v) r(G)=minu∈V(G)maxv∈V(G)d(u,v)。
-
定理:设图 G G G为 n n n阶简单图,若对 G G G中任意两个不相邻顶点 u , v u,v u,v,有 d ( u ) + d ( v ) ⩾ n − 1 d(u)+d(v)\geqslant n-1 d(u)+d(v)⩾n−1,则 G G G是连通的,且 d ( G ) ⩽ 2 d(G)\leqslant2 d(G)⩽2。
-
推论:设图 G G G为 n n n阶简单图,若 δ ⩾ n − 1 2 \delta\geqslant\frac{n-1}{2} δ⩾2n−1,则 G G G连通。
二部图判定定理
- 一个无向图 G = < V , E > G=<V,E> G=<V,E>是二部图当且仅当 G G G中无奇圈。
下一章请见:
图论 | 期末复习笔记 | (二)