“对 $n\ge2$,顶点集固定为 $[n]={1,\ldots,n}$ 的标号树共有”
形式陈述
一棵树是非空、连通且无圈的有限简单无向图。森林是无圈的有限简单无向图,不要求连通,也允许顶点集为空;森林的每个非空连通分量都是一棵树。
对有
连通且无圈,即 是树;- 任意两个不同顶点之间恰有一条简单路径;
连通且有 条边; 无圈且有 条边。
第二项把“存在”与“唯一”合在一起;后两项则分别用边数替代其中一半结构要求。下文解释这些替代为何成立,也给出只检查边数会失败的反例。
树本身没有指定根,也没有指定孩子的顺序。选定一个顶点
本条称度数为
允许无限延伸的有根树
自动机运行与逐层选择的论证还会用到可能无限的有根树。这里直接用有限序列表示节点:记
任意两点沿父边回到它们的最长共同前缀,再沿另一条前缀链下降,得到唯一有限路径。虽然每个节点只有有限深度,节点总数可以无限,无限分支则是一列每个有限前缀都在
König 引理在这个模型中说:有限分支树若有无限多个节点,就有一条无限分支。证明从根开始:它有无限多个后代,而孩子只有有限多个,因此至少一个孩子仍有无限多个后代。每次选其中编号最小的孩子并重复,就得到所需无限链。每层都是有限集,所以“节点无限多”也等价于深度没有统一上界。证明给出存在性;若无法判定某子树是否无限,并不由此得到一个可执行的选路算法。
有限分支条件不能删除。让根对每个正整数
直觉
树是一种刚好足以连通的结构。任意两点之间都能走到,却没有一条边可以靠绕路替代:删掉任何一条边,原来的一整棵树就分成两块。与之对偶,给树增加一条原来没有的边,新边会和两端之间的唯一路径形成恰好一个圈。
唯一通路也是树上递归有效的原因。把树定根并删除根后,每个孩子恰好落在一个不同的连通分量中;若两个孩子仍能在根之外相连,那条路与两条根边就会组成圈。因此孩子子树的顶点集互不重叠,每个非根子树与外部只通过父边连接。对子树分别计算后沿父边合并,才不会把共享顶点重复当成两个独立部分。
例子与边界
唯一路径如何刻画树
连通性保证任意两点之间至少有一条路。若有两条不同的简单路径,沿它们分开再重合的部分会得到一个圈,与无圈矛盾。因此树中路径唯一。
反过来,若任意两点之间恰有一条简单路径,图当然连通;若存在圈,则圈上两点之间沿两个方向分别前进,可得到两条不同的路径,矛盾。这段论证表明,唯一性不是树的额外算法性质,而是连通与无圈的等价表达。
叶子为什么一定存在
在至少有两个顶点的有限树中,取一条最长简单路径。它的端点至少有一个邻居,即路径中的下一点。若端点还有其他邻居,该邻居若不在路径上,就能延长路径;若已经在路径上,就产生圈。两种情况都不允许,所以路径的两个端点都是叶子。
删除一个叶子及其唯一关联边,剩余部分仍无圈,也仍连通:两个剩余顶点之间的路径不可能把只有一个邻居的叶子当作中间站。因此可由单顶点树开始归纳,得到
对有
边数不是独立判据
一个三角形加一个孤立顶点共有四个顶点、三条边,恰好满足
为什么“连通加
同样大小可以有很不同的形状
五顶点路径
以路径端点
二叉树需要区分左、右槽位,并常为递归方便允许空树。其非空、无共享部分忘掉这些额外信息后,才落到本条的无向树模型。一个有向无环图也未必来自树:菱形结构
推论与应用
树是极小连通图:每条边都是桥。它也是在给定顶点集上的极大无圈图:增加任意缺失边都会成圈。后一性质对一般森林不成立;两个不同分量之间仍可加边而不成圈。两种极值说法分别对应“删不掉”和“加不了”,不是在比较不同顶点集的大小。
选根后,把偶数深度与奇数深度顶点分在两侧。任一边连接父子,深度相差
树上动态规划利用的是子树接口,而不只是画成分叉状的外观。例如计算每个子树的节点数,叶子返回
一般连通图可以抽取生成树来保留可达性。最小生成树在所有生成树中优化总边权;从源点得到的最短路树则保留源点到各点的最短距离。两者优化的目标不同,不能仅因输出都为树而互相替代。
参考资料
-
Oscar Levin,Discrete Mathematics: An Open Introduction,第 4 版,开放在线教材,§2.2 Trees:树的刻画、生成树与有根树。
-
Jeff Erickson,Algorithms,Chapters 5、7–8:图遍历、最小生成树及最短路径。
-
Reinhard Diestel,Graph Theory,5th ed.,2017,§1.5:树与森林;进一步阅读。
-
Orna Kupferman and Moshe Y. Vardi,Weak Alternating Automata Are Not That Weak,ACM TOCL 2(3),2001,§2 的前缀闭树与运行树定义(所链作者稿 PDF 第 6 页)。