您的位置:首页 > 其它

理解堆排序

2017-03-12 11:23 309 查看
堆排序满足条件(不稳定的排序,o(nlog2^n))

堆是满足下列性质的数列{r1,r2,r3,r4,r5….rn}:

小项堆 ri < r2i / ri < r2i + 1

大项堆 ri > r2i / ri > r2i + 1

堆排序的思想(大项堆):先建立大项堆,选择关键字最大的序列,与序列中最后一个记录交换,然后再将最后一个元素剪掉,调整为不算最后一个元素的大项堆,再选择前n-1个关键字最大的序列,与序列的倒数第二个元素交换,再将倒数第二个元素剪掉。。。。。依次进行下去。

堆排序涉及的问题

如何从无序列表建立初始堆

1.建立初始堆:

<1>将任意一个无序序列建立为一棵完全二叉树

2.代码实现(java)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: