Question

问题

计算数学 >> 数据结构
Questions in category: 数据结构 (Data Structure).

高度为 $h$ 的 AVL 树, 其最少的结点数是多少?

Posted by haifeng on 2018-05-17 08:28:08 last update 2018-05-17 08:35:04 | Answers (0) | 收藏


高度为 $h$ 的 AVL 树, 其最少的结点数是多少?

 

[Hint]

高度为 $h$ 的 AVL 树, 其最少的结点数若记 $S(h)$, 则 $S(h)$ 有三部分组成: 1(根结点), 左子树的最少结点数, 右子树的最少结点数.

由于 AVL 树的平衡条件是: 任意结点的左子树与右子树的高度之差的绝对值至多为 1. 因此如果左子树的最少结点数是 $S(h-1)$, 则右子树的最少结点数是 $S(h-2)$.

于是, 我们得到关于 $S(h)$ 的递推表达式:

\[
S(h)=S(h-1)+S(h-2)+1.
\]

这与 Fibonacci 的递推表达式非常类似, 仅相差一个常数 1.

试求出 $S(h)$ 的具体表达式.

 

P. 132  Ex 4.18