图论 | 期末复习笔记 |(二)

第二章:树

无向树

边加权属于P问题,点加权属于NP问题

  • 等价定义:设 G = < V , E > G=<V,E> G=<V,E> n n n m m m条边的简单无向图,则下面各命题是等价的:

    1. G G G是树且连通无圈
    2. G G G中任意两个顶点之间存在唯一的路径
    3. G G G中无圈且 m = n − 1 m=n-1 m=n1
    4. G G G是连通的且 m = n − 1 m=n-1 m=n1
    5. G G G是连通的且 G G G中任何边均为桥
    6. G G G​​中无圈,但在任何两个不相邻的顶点之间加一条新边,所得图中得到唯一的一个含新边的圈
  • 推论:具有 k k k个分支的森林有 n − k n-k nk条边,其中 n n n G G G的顶点数。

  • 性质:设 T T T n n n阶非平凡的无向树,则 T T T中至少有两片树叶,即至少有两个一次顶点。
    2 ( n − 1 ) = ∑ d ( v i ) ⩾ x + 2 ( n − x ) x ⩾ 2 2(n-1)=\sum d(v_i)\geqslant x+2(n-x)\\ x\geqslant2 2(n1)=d(vi)x+2(nx)x2

森林(树)的路分解
  • 引理:每颗恰有两个一次顶点的树均是路。(反证法)

  • G G G是森林(树)且恰有 2 k 2k 2k个奇次顶点,则在 G G G中有 k k k条边不重和的路 P 1 , P 2 , … , P k P_1,P_2,\ldots,P_k P1,P2,,Pk,使得 E ( G ) = E ( P 1 ) ∪ E ( P 2 ) ∪ ⋯ ∪ E ( P k ) E(G)=E(P_1)\cup E(P_2)\cup\cdots\cup E(P_k) E(G)=E(P1)E(P2)E(Pk)​。(数学归纳法)

  • T T T k k k阶树,若图 G G G是满足 δ ⩾ k − 1 \delta\geqslant k-1 δk1的简单图,则 T T T同构于 G G G的某个子图。(数学归纳法)

树的度序列
  • S = { d 1 , d 2 , … , d n } S=\{d_1,d_2,\ldots,d_n\} S={d1,d2,,dn} n n n个正整数序列,满足 d 1 ⩾ d 2 ⩾ ⋯ ⩾ d n , ∑ d i = 2 ( n − 1 ) d_1\geqslant d_2\geqslant \cdots\geqslant d_n,\sum d_i=2(n-1) d1d2dn,di=2(n1),则存在一棵树 T T T,其度序列为 S S S​。(数学归纳法)
树的中心
  • 离心率: e ( v ) = max ⁡ { d ( u , v ) ∣ u ∈ V ( G ) } e(v)=\max\{d(u,v)|u\in V(G)\} e(v)=max{d(u,v)uV(G)}
  • 图的半径: r ( G ) = min ⁡ { e ( v ) ∣ v ∈ V ( G ) } r(G)=\min\{e(v)|v\in V(G)\} r(G)=min{e(v)vV(G)}
  • 图的直径:最大离心率
  • 图的中心点:离心率等于半径的点
  • 图的中心:中心点的集合
  • 定理:每棵树的中心由一个点或两个相邻点组成。(数学归纳法)
生成树
  • G G G为无向图,
    1. T T T G G G—— T T T G G G的子图并且是树。
    2. T T T G G G生成树—— T T T G G G的生成子图并且是树。
    3. e e e T T T树枝——设 T T T G G G的生成树, ∀ e ∈ E ( G ) \forall e\in E(G) eE(G),若 e ∈ E ( T ) e\in E(T) eE(T)​。
    4. e e e T T T——设 T T T G G G的生成树, ∀ e ∈ E ( G ) \forall e\in E(G) eE(G),若 e ∉ E ( T ) e\notin E(T) e/E(T)
    5. 生成树 T T T余树——导出子图 G [ E ( G ) − E ( T ) ] G[E(G)-E(T)] G[E(G)E(T)],记作 T ˉ \bar{T} Tˉ
  • 注意: T ˉ \bar{T} Tˉ​不一定连通,也不一定不含回路。
  • 定理:无向图 G G G具有生成树当且仅当 G G G​连通。
  • 例:连通图 G G G的无圈子图 T T T G G G的某个生成树的子图。
  • 定理:设 T T T是无向连通图 G G G的一棵生成树, e e e T T T的任意一条弦,则 T ∪ { e } T\cup\{e\} T{e}中存在只含一条弦 e e e​,其他边均为树枝的圈,而且不同的弦对应的圈不同。
割集
  • 设无向图 G = < V , E > G=<V,E> G=<V,E>,若存在 E ′ ⊆ E E'\subseteq E EE,且 E ′ ≠ ∅ E'\neq\varnothing E=,使得 ω ( G − E ′ ) > ω ( G ) \omega(G-E')>\omega(G) ω(GE)>ω(G),则称 E ′ E' E G G G的边割集。若 E ′ E' E G G G的边割集,且对于任意的 E ′ ′ ⊂ E ′ E''\subset E' E′′E,均有 ω ( G − E ′ ′ ) = ω ( G ) \omega(G-E'')=\omega(G) ω(GE′′)=ω(G),则称 E ′ E' E G G G​的极小边割集。
  • 设无向图 G = < V , E > G=<V,E> G=<V,E>,若存在 V ′ ⊆ V V'\subseteq V VV,且 V ′ ≠ ∅ V'\neq\varnothing V=,使得 ω ( G − V ′ ) > ω ( G ) \omega(G-V')>\omega(G) ω(GV)>ω(G),则称 V ′ V' V G G G的点割集。若 V ′ V' V G G G的点割集,且对于任意的 V ′ ′ ⊂ V ′ V''\subset V' V′′V,均有 ω ( G − V ′ ′ ) = ω ( G ) \omega(G-V'')=\omega(G) ω(GV′′)=ω(G),则称 V ′ V' V G G G​的极小点割集。
  • 注意:如果 G G G是连通图, ( V 1 , V 2 ) (V_1,V_2) (V1,V2) V V V的划分,设 [ V 1 , V 2 ] [V_1,V_2] [V1,V2]表示从 V 1 V_1 V1中的点到 V 2 V_2 V2中的点的所有边,则 [ V 1 , V 2 ] [V_1,V_2] [V1,V2]是边割集。
  • 定理:设 T T T是无向连通图 G G G的一棵生成树, e e e T T T的任意树枝,则 G G G中存在只含树枝 e e e​其他边都是弦的割集,且不同树枝对应的割集不同。
生成树的计数
  • G G G是连通图, T , T ′ T,T' T,T G G G的两个生成树,如 E ( T ) E(T) E(T) E ( T ′ ) E(T') E(T)不同,就是两个不同的生成树,个数记为 τ ( G ) \tau(G) τ(G)

  • Cayley定理:设 e e e是连通图 G G G的一条边,则有 τ ( G ) = τ ( G − e ) + τ ( G ∘ e ) \tau(G)=\tau(G-e)+\tau(G\circ e) τ(G)=τ(Ge)+τ(Ge),收缩边。

    τ ( K n ) = n n − 2 \tau(K_n)=n^{n-2} τ(Kn)=nn2.

    e e e K n K_n Kn的一条边,则 τ ( K n − e ) = ( n − 2 ) n n − 3 \tau(K_n-e)=(n-2)n^{n-3} τ(Kne)=(n2)nn3

    证明: K n K_n Kn所有生成树的总边数为 ( n − 1 ) n n − 2 (n-1)n^{n-2} (n1)nn2,每条边对应的生成树的棵数为 ( n − 1 ) n n − 2 1 2 n ( n − 1 ) = 2 n n − 3 \frac{(n-1)n^{n-2}}{\frac{1}{2}n(n-1)}=2n^{n-3} 21n(n1)(n1)nn2=2nn3,所以 K n − e K_n-e Kne对应的生成树的棵数为 τ ( K n − e ) = n n − 2 − 2 n n − 3 = ( n − 2 ) n n − 3 \tau(K_n-e)=n^{n-2}-2n^{n-3}=(n-2)n^{n-3} τ(Kne)=nn22nn3=(n2)nn3

最小生成树
  • Kruskal算法

  • 管梅谷破圈法

  • Prim算法

有序二元树
  • 树的每边规定一个方向且使得任意的 v i ∈ V ( T ) v_i\in V(T) viV(T),存在有向道路 P ( v 0 , v i ) P(v_0,v_i) P(v0,vi),则称 T T T外向树 v 0 v_0 v0叫做,反之则称为内向树
  • T T T为外向树,对任意的顶点 v ∈ V ( T ) v\in V(T) vV(T),都有 d + ( v ) ⩽ σ d^+(v)\leqslant\sigma d+(v)σ,则称 T T T σ \sigma σ​元树。
  • 除叶子外,每顶点皆有 σ \sigma σ子时,称为典型 σ \sigma σ元树。
  • v 0 v_0 v0为根, v 1 , v 2 , … , v n v_1,v_2,\ldots,v_n v1,v2,,vn为叶的有序二元树中,路径 P ( v 0 , v i ) ( i = 1 , 2 , … , n ) P(v_0,v_i)(i=1,2,\ldots,n) P(v0,vi)(i=1,2,,n)的长度 l i l_i li叫做叶 v i v_i vi的码长。若 v i ( i = 1 , 2 , … , n ) v_i(i=1,2,\ldots,n) vi(i=1,2,,n)代表的事物出现的概率为 p i , ∑ i = 1 n p i = 1 p_i,\sum_{i=1}^{n}p_i=1 pi,i=1npi=1,使得 m ( T ) = ∑ i = 1 n p i l i = m i n m(T)=\sum_{i=1}^{n}p_il_i=min m(T)=i=1npili=min的有序二元树 T T T叫做带权 p 1 , p 2 , … , p n p_1,p_2,\ldots,p_n p1,p2,,pn​的Huffman树,也叫做最优二叉树。Huffman树的前缀编码称为Huffman编码。
  • Huffman算法

下一章请见:
图论 | 期末复习笔记 | (三)

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值