首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对关键码集合K={22,11,38,68,43,6,10,4
[单选题]
对关键码集合K={22,11,38,68,43,6,10,48},用筛选法创建最小堆时,从关键码( )开始调整
22
38
68
48
查看答案及解析
添加笔记
求解答(18)
邀请回答
收藏(417)
分享
21个回答
添加回答
3
菜鸟九八号
最小堆的构建:
初始数组为:9,3,7,6,5,1,10,2
按照完全二叉树,将数字依次填入。
填入后,找到
最后一个结点
(本示例为数字2的节点),从它的
父节点
(本示例为数字6的节点)
开始调整。根据性质,
小的数字往上移动
;至此,第1次调整完成。
注意,被调整的节点,还有子节点的情况,需要递归进行调整。
第二次调整,是数字6的节点数组下标小1的节点(比数字6的下标小1的节点是数字7的节点),
用刚才的规则进行调整。以此类推,直到调整到根节点。
发表于 2020-03-05 11:06:32
回复(0)
1
goodluck~
筛选法应该就是heapify的过程 如果从索引1开始的话 第一个非叶子节点就是8/2=4 从第四个开始
发表于 2020-02-24 10:34:07
回复(0)
1
每天都说我是过儿
啥意思啊 两个集合都不一样
发表于 2018-12-28 21:58:49
回复(0)
17
梅梅201803241656278
筛选法就是开始按现有的顺序从上到下,从左到右放到一个完全二叉树里面。
然后把这个树调节成堆。调节的时候从最后一个有儿子的节点开始。 也就是从下往上,从右往
左找,找到的第一个有孩子的节点开
始。依次把各个节点及下面的孩子组成的树调
节成堆。
筛选法建堆例子(侵删):
至于本题,打扰了。
发表于 2018-12-29 19:10:55
回复(3)
14
everythingisok
22
/ \
11 38
/ \ / \
68 43 6 10
/
48
从下往上,从右到左的顺序,从第一个非叶结点开始调整
发表于 2020-05-26 16:41:56
回复(0)
5
codeDonald
68
就是上面说的从上到下排树,从下到上找第一个有叶子节点的节点
发表于 2019-04-23 20:22:07
回复(0)
4
飞鸿踏雪泥9975
这题有毒,正确答案应该是6,11,10,48,43,38,22,68
发表于 2019-08-15 10:06:48
回复(1)
3
林小象
68是对的呀,68是最后一个有孩子的节点,68>48,
发表于 2019-09-28 20:04:49
回复(0)
2
辉煞星耀
从最后一个
非叶子结点
开始调整
发表于 2021-05-16 01:13:36
回复(0)
0
元yuanyun
调节的时候,当创建最小堆时,从下往上,从右往左的顺序,从第一个非叶结点开始调整。
发表于 2022-04-08 21:34:37
回复(0)
0
已注销
二叉树最后一个有孩子的节点
发表于 2022-03-12 22:19:57
回复(0)
0
Juventus-小九
按现有顺序从上到下,从左到右放到一个完全二叉树里面,然后把这个树调节成堆。
发表于 2022-02-18 15:58:58
回复(0)
0
泽思
筛选法就是
(1)开始按现有的顺序从上到下,从左到右放到一个完全二叉树里面。
(2)然后把这个树调节成堆。
调节的时候从最后一个有儿子的节点开始。
也就是从下往上,从右往左找,找到的第一个有孩子的节点开始。
依次把各个节点及下面的孩子组成的树调节成堆。
发表于 2021-07-13 13:33:34
回复(0)
0
健康成长玛卡巴卡
不能边读入边建堆吗?
发表于 2021-04-19 22:39:38
回复(0)
0
辉耀565
堆调整是从最后一个非叶节点开始调整的
发表于 2021-04-05 16:25:55
回复(0)
0
Mr__Cao
第一个看68没问题,68子节点是10和48,不需要调整啊,之后看38,38子节点是43和6,这时候不就要交换38和43吗,这不就是第一个调整的点吗
发表于 2020-12-27 10:00:42
回复(0)
0
Simon..
<p><em>我们称这个自堆顶至叶子结点的调整过程为筛选</em></p><p><br></p><p><em>从一个无序序列构建堆的过程就是一个反复筛选的过程。</em></p><p><br></p><p><strong><em>若将此序列看成一个完全二叉树,则最后一个非终端节点是第 N/2 向下取整个元素,由此筛选只需从第N/2个元素开始。</em></strong></p><p><br></p><p>void HeapSort(HeapType &H)</p><p> for(i = H.length/2; i >0; i—)</p><p><br></p><p><em>上述内容参考严书数据结构 280-282页 </em></p><p><br></p><p>对于本题而言 8/2=4 第四个元素即68</p><p><br></p><p><br></p><p><br></p>
发表于 2020-11-25 20:55:20
回复(0)
0
传说中的小二哥
1
发表于 2019-12-27 22:25:59
回复(0)
0
初心w50t2
初始建堆是从完全二叉树的第i(i=n/2)个结点开始调整。n表示序列有n个数。
发表于 2019-09-26 15:23:38
回复(0)
0
小🐮客
做得一脸懵比
发表于 2019-09-22 10:45:15
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
系统工程师
运维工程师
前端工程师
算法工程师
测试开发工程师
测试工程师
2019
堆
360集团
Java工程师
来自:
360公司-2019校...
上传者:
小小
难度:
21条回答
417收藏
6774浏览
热门推荐
相关试题
五对夫妇甲,乙,丙,丁,戊举行家庭...
360集团
智力题
评论
(22)
来自
360公司2014校招笔试卷
消消乐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
vivo
2020
嵌入式工程师
数据挖掘工程师
测试开发工程师
评论
(21)
以下关于Word的使用,不正确的是:
数据库工程师
搜狐畅游
游戏策划
游戏工程师
2020
公关
商务
人力资源
项目经理
系统工程师
评论
(2)
代码:HANDLE hMutexS...
360集团
操作系统
Java工程师
C++工程师
iOS工程师
运维工程师
算法工程师
测试工程师
2019
系统工程师
评论
(4)
来自
360公司-2019校招...
有下列类定义 #include
360集团
C++
C++工程师
2019
C语言
评论
(21)
来自
360公司-2019校招...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题