含有 20 个结点的平衡二叉树的最大深度为( )。
目标
通过 7 道 408 历年真题与 7 道王道习题,检查自己能否准确处理 AVL 树的平衡约束和红黑树的颜色性质。
完成后应能:
- 用最少结点递推
解决"高度—结点数"互推问题; - 手工完成插入后的 LL/RR/LR/RL 判型与旋转,写出旋转后的树形;
- 分析"删除再插入"对树形的影响,并识别绝对表述中的反例;
- 用红黑树的五条性质判别合法树形、计算插入后的红结点数。
前置知识
建议先阅读 8.3 节 平衡查找树,掌握四种失衡形态、双旋流程与红黑树的性质清单。
环境、输入与预期输出
- 环境:任意现代浏览器;强烈建议准备纸笔,图形题先重画树形、标注平衡因子再作答。
- 输入:本页 14 道单项选择题,题面中的树形用
1(2(3,_),4)式记法表示(括号内依次为左、右子树,_表示空指针)。 - 预期输出:一份独立作答记录,以及每道错题的错误原因和正确推理。
作答方法
- 阅读题面后点击一个选项,先写下选择依据;
- 点击"提交答案",再核对对错、正确答案和题解;
- 做错的题点击"重新作答"后再次推导,直到能说明其余选项为什么不成立;
- 完成全部题目后再使用页面末尾的答案总览复核,避免只记答案字母。
选择题
search-wd73-q13高度为 3 的平衡二叉排序树的形态共有( )种。
search-408-2012-q04若平衡二叉树的高度为 6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为( )。
search-408-2013-q03若将关键字 1, 2, 3, 4, 5, 6, 7 依次插入到初始为空的平衡二叉树 T 中,则 T 中平衡因子为 0 的分支结点的个数是( )。
search-wd73-q14在平衡二叉树的基本操作中,可能发生两次旋转的操作是( )。
search-wd73-q15将关键字 1, 2, 3, …, 1024 依次插入到初始为空的平衡二叉树中,假设只有一个根结点的二叉树的高度为 0,则插入结束后的平衡二叉树的高度是( )。
search-408-2009-q04下列二叉排序树中,满足平衡二叉树定义的是( )。选项以 1(2(3,_),4) 式记法表示树形:括号内依次为左、右子树,_ 表示空指针,标号仅为表述方便,不代表关键字大小。
search-408-2015-q04现有一棵无重复关键字的平衡二叉树(AVL 树),对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中,正确的是( )。
search-408-2010-q04在右图所示的平衡二叉树中,插入关键字 48 后得到一棵新平衡二叉树。在新平衡二叉树中,关键字 37 所在结点的左、右子结点中保存的关键字分别是( )。
24(13, 53(37, 90))
结构(文字版):根 24,左孩子 13;右孩子 53 的左、右孩子分别为 37、90。
search-408-2021-q06给定平衡二叉树如下图所示,插入关键字 23 后,根中的关键字是( )。
20(16, 30(25, 40))
结构(文字版):根 20,左孩子 16;右孩子 30 的左、右孩子分别为 25、40。
search-408-2019-q04在任意一棵非空平衡二叉树(AVL 树)T1 中,删除某结点 v 之后形成平衡二叉树 T2,再将 v 插入 T2 形成平衡二叉树 T3。下列关于 T1 与 T3 的叙述中,正确的是( )。
I. 若 v 是 T1 的叶结点,则 T1 与 T3 可能不相同
II. 若 v 不是 T1 的叶结点,则 T1 与 T3 一定不相同
III. 若 v 不是 T1 的叶结点,则 T1 与 T3 一定相同
search-wd73-q16下列关于红黑树和 AVL 树的说法中,不正确的是( )。
I. 一棵含有 n 个结点的红黑树的高度至多为
II. 若一个结点是红色的,则它的父结点和孩子结点都是黑色的
III. 红黑树的查找效率一般要优于含有相同结点数的 AVL 树
IV. 若 AVL 树的某结点的左右孩子的平衡因子都是零,则该结点的平衡因子也是零
search-wd73-q18下列关于红黑树的说法中,正确的是( )。
search-wd73-q20将关键字 1, 2, 3, 4, 5, 6, 7 依次插入初始为空的红黑树 T,则 T 中红结点的个数是( )。
答案总览(建议完成全部题目后查看)
- 第 1 题:C
- 第 2 题:D
- 第 3 题:B
- 第 4 题:D
- 第 5 题:A
- 第 6 题:C
- 第 7 题:B
- 第 8 题:D
- 第 9 题:C
- 第 10 题:D
- 第 11 题:A
- 第 12 题:D
- 第 13 题:B
- 第 14 题:C
完成清单
思考题
- 最少结点递推式为什么与 Fibonacci 数列同型?它给出了 AVL 高度的什么上界?
- 插入最多一次双旋,删除为什么可能引发多次旋转?
- 红黑树放宽了 AVL 的平衡约束,换来的是什么?查找、插入、删除各自的最坏路径长度受什么控制?
复盘
- 判型时我是否先找"最小失衡子树的根",再看出事方向(L/R + L/R)?
- 遇到"一定"类选项,我是否主动构造了反例?
- 红黑树插入题我是否每一步都检查了"父红才调整、叔红只变色"?