永发信息网

46比38大多少

答案:1  悬赏:80  手机版
解决时间 2021-04-01 21:59
  • 提问者网友:愿为果
  • 2021-04-01 00:17
46比38大多少
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-04-01 01:00
我排序的过程,跟你不一样,不过结果是对的。先把数据构建成最大堆。就是根节点比它的2个子节点要大。
56
50 48
这就市最大堆
你的原数据
46
79 56
38 40 84
84比它的根大,所以84跟56换
46
79 84
38 40 56
38和40都比它的根节点79小,所以不动
然后看第2层,84比46大,所以拿它跟父节点的46换
84
79 46
38 40 56
46换下去还市比它的子节点56小,再换(这个要注意,可能小的被换下来,但是仍然比下面的大,就继续换下去)
84
79 56
38 40 46
目前就已经是最大堆了
然后是堆排序,
拿最上面的84,跟46换,
46
79 56
38 40 【84】
84换好以后再也不能动了,然后再构建剩下的6个数的最大堆:
46
79 56
38 40 【84】
40,38都比79小不动,56比父节点46大,所以换:
56
79 46
38 40 【84】
接下来市79,79比56大,换
79
56 46
38 40 【84】
最大堆完成(84已经不动了,可以不考虑它了),然后79跟最后一个40换,
同样,换了以后,79也不能动,而且以后的排序也不用考虑它
40
56 46
38 【79】 【84】
然后再构建最大堆
38,不动,46跟40换
46
56 40
38 【79】 【84】
然后56跟46换
56
46 40
38 【79】 【84】
又排好了,然后56跟38换
38
46 40
【56】 【79】 【84】
再排序(排序过程不说了),排好如下:
46
40 38
【56】 【79】 【84】
46跟38换
38
40 【46】
【56】 【79】 【84】
再排序:
40
38 【46】
【56】 【79】 【84】
再首尾相换
38
【40】 【46】
【56】 【79】 【84】
结束。
从头开始输出:38 40 46 56 79 84 是最后结果。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯