平衡二叉树被定义为这样一棵树,使得任何节点的两个子树的高度永远不会相差超过一个。
我的问题是,如果其中一个子树不存在或者子树基本上为 NULL 怎么办
最佳答案
空子树的长度为 0。因此,如果一个子树为空,则另一棵子树的深度必须为 0 或 1。例如这些是平衡树:
A A
/ \ / \
B
但这不是:
A
/ \
B
/ \
C D
因为 A (B(C,D))
的右子树深度为 2,而左子树深度为 0。
(B(C,D))
子树本身是平衡的,但它所属的整棵树不是。
关于algorithm - 具有一个空子树的二叉树可以是平衡二叉树吗?如果是这样,什么时候?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44713114/