从CLRS书中考虑以下对完整k-ary树的定义:
定义: 完整的k-ary树是 k -ary树,其中所有树叶都具有相同的深度和所有内部节点有学位 k 。 (p.1179)
由于这个定义,我认为下一个二进制树是完整的
但是基于完整树的这个answer定义(完整的二叉树, k -ary tree的特定情况),
一个二叉树,其中除最深处之外的每个级别都被完全填充。在深度 n ,树的高度,所有节点必须尽可能远。
与Grimaldi的离散数学书(p.601)中出现的相同,我们认为下面的有根树是完整的树
但是对于CLRS定义而言并非如此,因为 G 使它与其他的不同。对于这种情况,哪两个定义最常用且合适?
答案 0 :(得分:1)
这取决于用例。
您提到的答案引用的参考文献以此资格结束:
有些作者致电perfect binary trees"完成"。
这确实是CLRS中的用法。因此这两个术语都很有用,但用法因参考而异。
这就是为什么数学论文通常从几页术语开始,尽管它有时似乎是多余的。
答案 1 :(得分:0)
使用后一种定义
通常很有用一个二叉树,其中除最深处之外的每个级别都被完全填充。在深度为n的树的高度,所有节点必须尽可能远。
这主要是因为前一个定义的局限性在于你不能拥有一个大小完整的k-ary树