李永乐 数学讲师
广受学生信赖的“线代王”

预约

计算机考研数据结构备考知识点:堆排序 堆排序算法实现

2024-03-04 15:02:30 来源:天任考研  

计算机考研数据结构备考知识点:堆排序 堆排序算法实现

张宇、田静领衔 25考研课程优惠券领取中

更多课程

计算机考研专业课分为组织原理、数据结构、操作系统等几个部分,今天为大家整理的考研知识点是数据机构部分的堆排序,供各位考生参考。

计算机考研数据结构备考知识点:堆排序

堆排序

大根堆的定义:完全二叉树,任一非叶子结点都大于等于它的孩子,也就是说根结点是最大的。而且显然大根堆的任一棵子树也是大根堆。

堆排序的基本思想:记录区的分为无序区和有序区前后两部分;用无序区的数建大根堆,得到的根(最大的数)和无序区的最后一个数交换,也就是将该根归入有序区的最前端;如此重复下去,直至有序区扩展至整个记录区。

具体操作可按下面步骤实现:

1.建大根堆

2.交换根和无序区最后一个数

3.重建大根堆,因为交换只是使根改变了,所以左右子树依然分别是大根堆。

4.比较根,左子树的根和右子树的根,如果根最大,则无须再作调整,树已经是大根堆了;如果左子树的根最大,交换它与根,再递归调整左子树;如果右子树的根最大,交换它与根,再递归调整右子数。

5.递归调整到叶子的时候,树就是大根堆了。

以上是为大家整理的计算机考研的部分介绍,有想了解计算机考研课程的考生,可以在客服窗口留言,会有老师一对一为大家做详细介绍。

热门好课推荐

MORE

2025考研英语无忧班

时长:468课时


  • 刘晓艳

  • 张超

3000元
已报501人

2025考研数学无忧班

时长:604课时


  • 李永乐

  • 宋浩

4000元
已报198人

2025考研政治无忧班

时长:225.5课时


  • 孔昱力

2000元
已报337人

2025考研管综无忧班

时长:440h


  • 吕建刚

3980元
已报112人