2019计算机考研知识点:堆排序
时间:2018-03-30 来源:文都网校 浏览:2019考研的同学们,为帮助大家能够全面的复习备考知识,文都网校考研频道小编特意帮大家整理了计算机考研的知识点:堆排序,希望对计算机考研的考生们有所帮助!
堆排序
大根堆的定义:完全二叉树,任一非叶子结点都大于等于它的孩子,也就是说根结点是最大的。而且显然大根堆的任一棵子树也是大根堆。
堆排序的基本思想:记录区的分为无序区和有序区前后两部分;用无序区的数建大根堆,得到的根(最大的数)和无序区的最后一个数交换,也就是将该根归入有序区的最前端;如此重复下去,直至有序区扩展至整个记录区。
具体操作可按下面步骤实现:
1.建大根堆
2.交换根和无序区最后一个数
3.重建大根堆,因为交换只是使根改变了,所以左右子树依然分别是大根堆。
4.比较根,左子树的根和右子树的根,如果根最大,则无须再作调整,树已经是大根堆了;如果左子树的根最大,交换它与根,再递归调整左子树;如果右子树的根最大,交换它与根,再递归调整右子数。
5.递归调整到叶子的时候,树就是大根堆了。
文都网校考研频道为大家持续更新考研资料,希望能帮助到大家,同学们可以关注文都考研,这里有你需要的资料,点击【kaoyan.wenduedu.com】风里、雨里,文都陪伴着你!有问题找文都☞☞☞详情咨询入口>>>
资讯推荐:
课程推荐:
4月主推课程 |
|
2019考研高端辅导英才成功卡 | |
2019考研专硕199管综VIP特训班 | |
2019考研VIP特训班【政治 英语二】 | |
2019考研专硕会计硕士全科VIP特训班 |
- 2019考研 计算机
- 责任编辑:lq