Skip to content

定义Definition

生成树

Spanning tree

包含原图全部顶点且自身为树的子图。

形式陈述 ​

设 G=(V,E) 为非空有限简单无向图。它的生成树是子图

T=(V,ET),ET⊆E,

其中 T 是一棵树。生成树必须保留原图全部顶点;只覆盖部分顶点的树是普通树子图,不是生成树。

以下条件等价:

  • G 连通;
  • G 含有生成树;
  • 可以从 G 中不断删除圈上的边,最终得到覆盖全部顶点的树。

若 |V|=n,每棵生成树恰有 n−1 条边。它在所有连通生成子图中边数最少;同时,它又是在无圈生成子图中边数最多的对象。

直觉

生成树是连通网络的骨架。它保留任意两顶点之间的可达性,却删除所有形成环的冗余边。树中任意两点之间只有一条简单路径,因此每条边都承担不可替代的连接职责。

这种骨架同时具有两种极值性质。删去任意树边,图会断开;向树加入任意一条非树边,图中会出现唯一一个圈。前者说明它是极小连通结构,后者说明它是极大无圈结构。

一个连通图往往有许多生成树。它们选择不同的路径承担连接任务,反映原图中的冗余可以怎样被裁剪。生成树本身不保留故障容错;删去骨架上的一条边便会断网,所以工程系统通常在树之外保留额外边。

例子与边界

三角形图有三棵生成树,每棵都删除三条边中的一条。原图的一个圈对应三种可删边选择;得到的每棵树都保留三个顶点,并含两条边。

取外圈边 ab,bc,cd,da 和对角线 ac。先删去三角形 abc 上的边 ac,得到四圈;再删去四圈上的 da,便留下路径 a−b−c−d。每一步都能用原圈的另一侧绕行,故连通性保持,最终得到三边生成树。

反过来,直接选择 ab,bc,ac 虽然也有三条边,却只在前三点围成三角形。生成子图必须仍保留顶点 d,此时 d 成为孤立点,结果不连通。失败之处不是可以把 d 从顶点集漏掉,而是所有顶点保留后仍未接通。

非连通图没有覆盖全部顶点的生成树。对每个连通分量分别取生成树,可以得到生成森林。若图有 c 个连通分量,这样得到的生成森林含 n−c 条边。这里“生成森林”要求每个原分量内部都被接通;任意保留全部顶点的无圈子图未必达到这个边数。零顶点图没有本条所定义的生成树,但有空生成森林,符合 0−0=0。

带权图中的最小生成树在所有生成树中最小化总权重。它仍然先满足“覆盖、连通、无圈”,再比较成本;最短路径树则从固定源点优化到各点的距离,两种目标通常产生不同树。

推论与应用

对连通图,深度优先搜索和广度优先搜索记录首次发现新顶点的边,便能在邻接表表示下用 O(|V|+|E|) 时间构造生成树。每条记录边都把一个新顶点接到已发现部分,因而不会成圈;搜索又能到达全部顶点,故最终确实是一棵生成树。搜索树还保留遍历层次、父子关系或 DFS 时间戳,成为连通性、割点和回边分析的基础。

图拟阵把无圈边集视为独立集;当原图连通时,生成树的边集恰好是其基,原图不连通时则由各分量的生成树共同组成基。不同生成树都含 n−1 条边,基交换性质解释了许多贪心算法为何能够逐边替换而不破坏可行性。

反向搜索枚举把一次合法交换组织成全部生成树的唯一父关系:加入最小缺失根树边,再删圈中最大的非根边,缺失根边数恰减一。沿父关系反向遍历即可逐一输出所有树;四点五边例交付八份不同边集,并证明邻居槽恢复和无全局已见集合的空间界。

Cayley 公式计数完全图的生成树;矩阵树定理把生成树总数写成图 Laplacian 的任一主余子式。生成树因此不仅是算法输出,也连接组合计数、线性代数与电网络。

生成树桥接将“连通且无环”用作网络数据转发条件:桥通过根与路径消息选端口,稳定父方向上的正成本严格下降。图论结论描述最终骨架,协议还要处理旧消息过期和端口切换;最短根路径形成的桥树也不必最小化整棵树的总成本。

参考资料
  • Oscar Levin,Discrete Mathematics: An Open Introduction,第 4 版,开放在线教材,§2.2 Trees:树的刻画、生成树与有根树。
  • Reinhard Diestel, Graph Theory, 5th ed., Springer, 2017, Section 1.5.
  • Thomas H. Cormen et al., Introduction to Algorithms, 4th ed., MIT Press, 2022, Chapters 20–21.
  • Douglas B. West, Introduction to Graph Theory, 2nd ed., Prentice Hall, 2001, trees and spanning trees.
关系图谱21 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

类型化关系