堆排序的基本思想是什么?堆的数据结构定义是?

2023-03-17 10:30:58 来源:创视网

堆排序的基本思想

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。

基本思想

利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录(最小记录)变得简单。

将待排序的序列构造成一个最大堆,此时序列的最大值为根节点 ,依次将根节点与待排序序列的最后一个元素交换,再维护从根节点到该元素的前一个节点为最大堆,如此往复,最终得到一个递增序列。

堆的数据结构定义是?

在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作:

最大堆调整(Max Heapify):将堆的末端子节点作调整,使得子节点永远小于父节点

创建最大堆(Build Max Heap):将堆中的所有数据重新排序

堆排序(HeapSort):移除位在第一个数据的根节点,并做最大堆调整的递归运算

x 广告
x 广告

Copyright   2015-2022 财富赢家网版权所有  联系邮箱:920 891 263@qq.com

京ICP备2022016840号-48