MOOC数据结构——第四讲——4.1 二叉搜索树——小测验题目笔记
@
第一题
这题虽然做对了,但是当时还没有全部弄懂。
对于二叉搜索树(Binary Search Tree,简称BTS),根结点的左边为小于它的结点,右边为大于它的结点;BTS的最大元素一定在树的最右端点,最小的元素一定在最左端点。
在该题:
①根结点的右边只有两个结点,根结点的右子树为6、7,根结点为5,且最右端的结点最大,也就是7,所以根结点5的右子树是6,然后7比6大,7为6的右子树;
②根结点5的左子树为1~4,在图里的树,最左端就是根结点的左子树的父结点,所以该结点为1,1只有右子树,且该右子树有左右儿子,所以1的右子树的父结点为3,2比3小,2为3的左结点,4比3大,为右结点。
③也可以这么看,通过①确定了5为根结点,6、7位右子树,则5的左边为它的左子树,1~7的排序就是中序遍历(左、根、右)。
该树是这样:
第二题
因为第一题做的时候没完全搞懂,把1和2位置搞错了,所以做错了。
后序遍历是:左、右、根。
第三题
完全二叉树是要么最底层全是叶节点,要么就是最底层的叶节点只有左边的部分,也就是说它和完美二叉树从上到下、从左到右的顺序的位置要一致,若比完美二叉树少了一些叶结点,只能少右边的(也就是从右到左少叶结点,不能从左到右少叶结点),这样它俩最底层从左到右的顺序位置就一样;若是左边少了,右边一样,则底层从左到右的顺序位置就不一样了,就不是完全二叉树。
下图数字为从上到下、从左到右的排序:
所以在该题,因为右子树可以相比完美二叉树少叶结点,搜索树的左子树是小于根结点,右子树是大于根结点,所以最大值不为叶结点的情况就是当最右端的最大值结点只有左子树没有右子树的时候(如上图右上角的情况)。
第四题
因为完全二叉树不可以存在最底端无左边叶结点而右边有叶结点,所以不能像第三题那样右端最大值无右子树那种情况,完全二叉树的左子树不能存在只有右子树无左子树的情况。所以一个为完全二叉树的搜索树的最小值一定在叶结点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)