图论-02

02-树
注:所写主要参考为许胤龙《图论导引》,因觉得此书所写不合理,故附参考张先迪《图论及其应用》

树的基本概念

  • :连通的无圈图,度数为1的顶点称为树叶,度数大于1的顶点称为分支点,边称为树枝
  • 森林:一个无圈图,树也是森林
  • 平凡树:平凡图称为平凡树
  • 定理:设无向图 G = ( V , E ) G=(V,E) G=(V,E)是一个 ( n , m ) (n,m) (n,m)图,即顶点数为n,边数为m,则下列命题等价
    • G G G是树
    • G G G的任意两顶点间有且仅有一条轨道
    • G G G是连通的,且 m = n − 1 m=n-1 m=n1
    • G G G无圈,且 m = n − 1 m=n-1 m=n1
    • G G G是连通图,且删去任意一条边都不连通
    • G G G不含圈,且任意添加一条边后都恰好含一个圈
      • 推论:由 k k k棵树组成的森林满足: m = n − k m=n-k m=nk
      • 推论:任意一棵非平凡树至少有两片树叶
  • 最小连通图:设图 G G G是一个非平凡的无向连通图,如果对 G G G的每一条边 e e e G − e G-e Ge都不连通,称 G G G是一个最小连通图
  • 定理:非平凡的无向图 G G G是树的充要条件是 G G G是最小连通图
  • 离心率 G = ( V , E ) G=(V,E) G=(V,E)是连通图, v ∈ V v\in V vV e ( v ) = m a x { d ( u , v ) ∣ u ∈ V } e(v)=max\{d(u,v)|u\in V\} e(v)=max{d(u,v)uV},则称 e ( v ) e(v) e(v)是顶点 v v v离心率
  • 半径:令 r ( G ) = m i n { e ( v ) ∣ v ∈ V } r(G)=min\{e(v)|v\in V\} r(G)=min{e(v)vV},称 r ( G ) r(G) r(G)为G的半径
  • 中心点:满足 e ( v ) = r ( G ) e(v)=r(G) e(v)=r(G)的点 v v v
  • 中心:中心点的集合
  • 定理:每棵树都有一个点或两个邻接的点组成中心
  • 分支:设 u u u为树 T T T的任意一个顶点,树 T T T u u u处包含 u u u作为一个叶点的极大子树,分支数为该顶点的度数
  • u u u的分支中边最大的数目称为点 u u u
  • 形心点:树T中权值最小的顶点
  • 形心:由形心点构成的集合
  • 定理:每一棵树有一个点或两个邻接的点组成的形心

生成树

  • 生成树/生成森林/余树:图 G G G的生成子图 T T T是树,称 T T T G G G的一棵生成树,若 T T T是森林,则称 T T T G G G生成森林 T G C T_G^C TGC称为 G G G余树
  • 树枝/弦:生成树的边称为树枝 G G G中非生成树的边称为
  • 定理:每个连通图至少包括一棵生成树
    • 推论:若 G G G是连通的 ( n , m ) (n,m) (n,m)图,则 m ≥ n − 1 m\geq n - 1 mn1
    • 推论: G G G是连通图的充要条件是 G G G有生成树
  • G·e:删除边 e e e并使它的两个端点重合,称 e e e被收缩
  • 定理:求生成树的数目 τ ( G ) = τ ( G − e ) + τ ( G ⋅ e ) \tau(G)=\tau(G-e)+\tau(G·e) τ(G)=τ(Ge)+τ(Ge)
  • 定理 τ ( K n ) = n n − 2 \tau(K_n)=n^{n-2} τ(Kn)=nn2
  • 基本回路:设 T T T G = ( V , E ) G=(V,E) G=(V,E)的一棵生成树, m m m n n n分别是 G G G的边数和定点数, e 1 , e 2 , ⋯   , e m − n + 1 e_1,e_2,\cdots,e_{m-n+1} e1,e2,,emn+1为T的弦,设 C r C_r Cr使T加 e r e_r er产生的圈, r = 1 , 2 , ⋯   , m − n + 1 r=1,2,\cdots,m-n+1 r=1,2,,mn+1,称 C r C_r Cr为对应于弦 e r e_r er基本回路 { C 1 , C 2 , ⋯   , C m − n + 1 } \{C_1,C_2,\cdots,C_{m-n+1}\} {C1,C2,,Cmn+1}称为对应于生成树 T T T基本回路系统

最小生成树

  • 最小生成树:设 G = ( V , E ) G=(V,E) G=(V,E)是一个连通赋权图, T T T G G G的一棵生成树, T T T的每条边所赋权值之和称为 T T T,记为 W ( T ) W(T) W(T),G中具有最小权的生成树称为 G G G最小生成树
  • K r u s k a l Kruskal Kruskal算法(选边):
    • 选择边权最小的边e
    • 从未选的边中选择与已选边不能构成圈的最小的边权的边,直至不能选。
  • P r i m Prim Prim算法(选边和顶点):
    • V V V为已选顶点集合, E E E为已选边集合
    • 任选一点 s s s,使 V = s V={s} V=s,选择与 s s s相连权最小的边 e e e E = e E={e} E=e
    • 选择一点在V中一点不在V中的最小权边 s t st st V = V ∪ { t } V=V\cup\{t\} V=V{t} E = E ∪ { s t } E=E\cup\{st\} E=E{st}
    • 反复执行上一步,直至 ∣ V ∣ = ∣ V ( G ) ∣ |V|=|V(G)| V=V(G)
  • 破圈法(删边):
    • 保证图G的连通性的情况下,删除边权最大的边

二叉树及其应用

  • 有根树:指定一个顶点作为根,并且每条边的方向都离开根的有向树称为有根树,任给 < v i , v j > ∈ E ( T ) <v_i,v_j>\in E(T) <vi,vj>E(T) v i v_i vi父亲 v j v_j vj儿子,同父之子称为兄弟,若从 v i v_i vi v j v_j vj有一条有向轨道,则称 v i v_i vi祖先 v j v_j vj后代
  • 根/树叶/内点/分支点:有根树中入度为0的点称为,入度为1出度为0的点称为树叶,入度为1出度不为0的点称为内点,内点和根统称为分支点
  • 深度:从根到 T T T的任一顶点 v v v深度 L ( v ) L(v) L(v)
  • 树高:深度的最大值称为树高 h ( T ) h(T) h(T)
  • 有序树:每个顶点的孩子从左到右规定了次序
  • r叉树:每个分支点至多有 r r r个儿子
  • r叉正则树:每个分支点都恰好有 r r r个儿子
  • r叉完全正则树:正则树的前提下每个树叶的深度都是树高
  • 定理:二叉树有如下性质:
    • i i i层的顶点数最多为 2 i 2^i 2i
    • 深度为 h h h的二叉树最多有 2 h + 1 − 1 2^{h+1}-1 2h+11个顶点
    • 设二叉树出度为2的顶点为 n 2 n_2 n2,树叶数为 n 0 n_0 n0,则有 n 0 = n 2 + 1 n_0=n_2+1 n0=n2+1
    • 包含n个顶点的二叉树的高度至少为 ┌ l o g 2 ( n + 1 ) ┐ − 1 \ulcorner log_2(n+1)\urcorner-1 log2(n+1)1
  • 加权路径长度:设二叉树T有t片树叶 v 1 , v 2 , ⋯   , v t v_1,v_2,\cdots,v_t v1,v2,,vt,其权值为 w 1 , w 2 , ⋯   , w t w_1,w_2,\cdots,w_t w1,w2,,wt,定义加权路径长度 W P L ( T ) = ∑ i = 1 t w i L ( v i ) WPL(T)=\sum_{i=1}^tw_iL(v_i) WPL(T)=i=1twiL(vi)
  • 最优二叉树:给定树叶的一组权值,构成的加权路径长度最短的树称为最优二叉树
  • H u f f m a n Huffman Huffman算法:
    • 不断选择权值最小的两个顶点,新形成的分支点权值为其和并加入选择顶点集合中,不断重复此过程,直至形成一棵树
  • 前缀码:任何一个字符的编码都不是另一个字符编码的前缀,则称这种编码为前缀码
  • 二进制前缀码:由0和1组成的前缀码
  • H u f f m a n Huffman Huffman编码:取 H u f f m a n Huffman Huffman树的每个分支点左出边为0,右出边为1,可得到每个树叶的 H u f f m a n Huffman Huffman编码
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值