【数据结构高手进】给个堆排序的实例(不要代码)

比如关键字(15,14,5,7,12,18)1.如何建堆?2.如何排序?麻烦简洁明了... 比如关键字(15,14,5,7,12,18)
1.如何建堆?
2.如何排序?

麻烦简洁明了
展开
 我来答
Soucula
推荐于2017-11-24 · TA获得超过3093个赞
知道小有建树答主
回答量:744
采纳率:93%
帮助的人:133万
展开全部
假设是打算做从小到大的排序,所以是建大顶堆。
初始的时候堆就是整个序列(15,14,5,7,12,18)
所以整个堆的样子是:
15
14 5
7 12 18
此时从最底部的三元组开始进行建堆
第一步: 第二步:
15 18
14 18 14 15
7 12 5 7 12 5
接着开始排序,此时先交换18 和 5,此时18就是最大的一个数位于最末位置,该数
不用继续堆排序,因此对
5
14 15
7 12
进行建堆过程,结果为:
15
14 5
7 12
依次类推即可完成最终的堆排序。
第一次建堆和后续堆排序的过程差别在于,第一次堆序列都是乱的,所以
从最后的一个分支由下而上的建堆,而后面的堆排序过程,由于堆已经有
基本规律,除了顶部元素以外,其他都基本有序,所以从上向下进行建堆过程。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浮动的城堡
2011-12-24 · 服务他人,成就自我!
浮动的城堡
采纳数:6 获赞数:41

向TA提问 私信TA
展开全部
f
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式