1.对于n层高的平衡二叉树至少由几个节点构成
f(n)为n层高平衡二叉树至少需要多少个结点构成:
F(n)=F(n-1)+F(n-2)+1[F(0)=0;F(1)=1;]递归定义
例题:如果AVL树的深度为5(空树的深度定义为0),则此树最少有多少个结点?( A )
A.12
B.20
C.33
D.64
解析:F(5)=F(4)+F(3)+1=(F(3)+F(2)+1)+(F(2)+F(1)+1)……=12
补充:对于给定结点数,生成的AVL树深度最多为log2n(2为底数)。
平衡二叉树的插入和删除
2.在任意一棵非空平衡二叉树(AVL 树)T1 中,删除某结点 v 之后形成平衡二叉树 T2,再将 v 插入 T2 形成平衡二叉树 T3。下列关于 T1 与 T3 的叙述中,正确的是:(l)
- I、若 v 是 T1 的叶结点,则 T1 与 T3 可能不相同
- II、若 v 不是 T1 的叶结点,则 T1 与 T3 一定不同
- III、若 v 不是 T1 的叶结点,则 T1 与 T3 一定相同
用数组表示二叉树
在一个用数组表示的完全二叉树中,如果根结点下标为1,那么下标为17和19这两个结点的最近公共祖先结点在哪里(数组下标)? (注:两个结点的“公共祖先结点”是指同时都是这两个结点祖先的结点)(B)
A.8
B.4
C.2
D.1
线索二叉树