给定节点数,求平衡二叉树最大高度的问题,和给定高度,求最少节点数的问题是等价的。给定节点数,当所有节点平衡因子为 ±1 时树最高,给定高度,当所有节点平衡因子为 ±1 时节点最少。下面是平衡因子为 1 的情况,让每个节点的左子树尽可能高:
若记 N(h) 为高度为 h 时的最小节点数,则可以得出递推关系 N(1) = 1, N(2) = 2, N(h) = N(h - 1) + N(h - 2) + 1
高度 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
最小节点数 | 1 | 2 | 4 | 7 | 12 | 20 | 33 |
以此类推。