校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > UI专业知识 > 色彩
题目

下面关于二叉搜索树正确的说法包括________。

A.待删除节点有左子树和右子树时,只能使用左子树的最大值节点替换待删除节点。

B.给定一棵二叉搜索树的前序和后序遍率历结果,无法确定这棵二叉搜索树。

C.给定一棵二叉搜索树,根据节点值大小排序所需时间复杂度是线性的。

D.给定一棵二叉搜索树,可以在线性时间复杂度内转化为平衡二叉搜索树。

解答

正确答案是 CA

A可以用右子树最小结点来替代 错误
B 对于搜索树来说,只要知道前序遍历就能还原了,第一个是根结点,之后的连续K个小于根节点的为左子树,后面的都是右子树,然后递归; 错误
C 正确, 中序遍历就可以了
D 如果允许额外的存储空间,可以先按照C生成一个排好序的数组,然后不断的找mid节点作为根来构造平衡树就是线性的,如果不允许额外空间只能靠旋转的话无法用线性时间。因为题目是单选,只能理解为不允许额外的存储空间了,
所以只能选C
C 5条回复 评论
项迪伦

有没有蜕变测试或者ai测试的教程

发表于 2022-12-21 21:00:00
0 0
灵魂火符

有没有大佬带带小白

发表于 2021-12-29 22:00:00
0 0
万成

A选项:如果对这棵搜索二叉树做中序遍历,待删除结点的前驱是它左子树最右边的结点,它的后继是它右子树最左边的结点

发表于 2018-11-01 15:34:45
0 0
落地98K

来讲讲B吧
无法保证用先序和后序唯一确定一棵二叉树,是因为无法保证区分左右孩子。比如根节点缺失左子树或右子树这样两种不同的拓扑结构,其先序和后序遍历很可能是完全一样的。
但某些情况下,比如,如果二叉树是真二叉树,那么树中各节点有0个或2个孩子,这时就可以确定左右孩子次序,这时先序和后序可以唯一确定一棵二叉树。

发表于 2018-11-01 15:34:06
0 0
先锋

B是错的,因为二叉搜索树的中序遍率历结果是顺序的,只要把其前序或者后序排个序就可以得到。
所以可以得到二叉树结构

发表于 2018-11-01 15:33:55
0 0