首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
给定数组 [ 20,9,45,28,73,92,38 ] ,
[填空题]
给定数组 [ 20,9,45,28,73,92,38 ] ,构造一棵 左子节点 < 父节点 < 右子节点 的二叉搜索树(Binary Search Tree)。把数字45删除,使用前序节点调整后,查询数字38需要
1
次。
查看答案及解析
添加笔记
求解答(40)
邀请回答
收藏(78)
分享
纠错
7个回答
添加回答
3
weiyinfu
最后一次不比较了吗?
发表于 2018-08-16 17:56:45
回复(2)
4
夜破晓
二叉搜索树(二叉排序树/二叉查找树):若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。
按照数组顺序逐个插入,数的形态是固定的。
被删除的结点左右子树都不为空时,用
前驱结点(前序节点调整)
或者
后继结点(后序节点调整)
代替被删除的结点位置,然后根据性质进行调整。
前驱结点:左子树最大值(小于被删除结点的所有结点中的最大值)
后继结点:右子树最小值(大于被删除结点的所有结点中的最小值)
编辑于 2019-04-01 17:15:14
回复(0)
2
三西后僧
为啥不是2次呢?20和38
发表于 2019-10-03 11:25:41
回复(1)
0
tritium_studio
这里没有要求平衡树,因此二叉搜索树就是顺序插入数组元素,每个元素都从根节点开始,比当前节点小就进入其左子树,比当前节点大就进入其右子树,直到找到空位。
前序节点就是比它小的最大节点,直接连上去就行。搜索树性质保证了不会出现多叉
本题中,搜索路径从20-45-28变为20-38-28,查询次数为边的个数,因此是2。而比较次数是节点个数,应该是3。
编辑于 2023-09-06 14:02:42
回复(0)
0
什么时候把绿色换掉
纠结于查询需要几次,请问这个题中查询数字28的话答案是3么?
发表于 2019-08-19 01:23:38
回复(0)
0
戴假发的猫
前序节点调整是什么意思呢
发表于 2018-10-15 15:26:43
回复(0)
0
坏坏62
我想请问一下,直接给定一个数组 也不说是什么顺序遍历的序列 如何能够确定这棵二叉搜索树的具体形态啊?求大神解我疑惑
发表于 2018-09-04 14:33:10
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
商汤科技
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
技术支持
数据挖掘工程师
2018
产品
运营
大数据开发工程师
Java工程师
上传者:
小小
难度:
7条回答
78收藏
3369浏览
热门推荐
相关试题
服务部署
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(28)
消消乐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(21)
请选择你用过的软件,并写出他们常用...
网易
2020
技术支持
评论
(0)
相关性分析有哪些?
评论
(1)
如何检验聚类分析结果
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题