我陷入了问题的归纳过程。
问题:
将树的高度定义为树之间的最大边数 根和任何叶子。我们认为一棵空树的高度为-1,并且 由单个节点组成的树的高度为0。归纳证明每个高度为h的非空二叉树都包含 少于2个(h + 1)节点。
So I started:
Base case: h = 0 (Since a non-empty tree consists of a single node
or
more, the first case would be an empty node)
= 2 (0 + 1) = 2 (1) = 2 当height为0时,树由单个节点组成,因此,是1个节点为 少于2个节点。 归纳步长= h小于或大于0 这就是我被困住的地方...我知道声明是正确的,因为 高度将始终小于节点数1,我只是 不知道如何代数证明。
谢谢。
答案 0 :(得分:1)
假设您有一棵树,其高度为n + 1。
左子树和右子树的高度都受n限制。 通过归纳,每个子树都具有少于2 ^(n + 1)个节点,即最多2 ^(n + 1)-1个节点。
因为我们有两个子树,所以最多只有2 *(2 ^(n + 1)-1)= 2 ^(n + 2)-2。 为根添加一个,然后高度n + 1的树最多具有2 ^(n + 2)-1,根据需要小于2 ^(n + 2)。