美文网首页
算法导论-排序和顺序统计量-堆排序(缺代码)

算法导论-排序和顺序统计量-堆排序(缺代码)

作者: 老鼠也有理想 | 来源:发表于2017-07-11 22:22 被阅读0次

堆排序

(二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。树上的每一个结点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且是从左像右填充。

在堆排序中,我们使用的是最大堆。最小堆通常用于构造优先队列。

在最大堆中,最大堆性质是指除了根以外的所有结点i都要满足:A[Panrent(i)]≥a[i],也就是说,某个结点的值至多与其父结点一样大。堆中的最大元素存放在根结点中。

把堆看成一棵树,一个堆中的结点的高度就为该结点到叶结点最长简单路径上边的数目。

优先队列是一种用来维护一组元素构成的集合S的数据结构,其中的每一个元素都有一个相关的值,称为关键字(key)。一个最大优先队列支持以下操作:
Insert(S,x):把元素x插入集合S中。这一操作等价于S=S∪{x}。
Maximum(S):返回S中具有最大键字的元素。
Extract-Max(S):去掉并返回S中的具有最大键字的元素。
Increase-Key(S,x,k):将元素x的关键字值增加到k,k的值不小于x的原关键字。

相关文章

  • 算法导论-排序和顺序统计量-堆排序(缺代码)

    堆排序 (二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。树上的每一个结点对应数组中的一个元素。除了最底层外...

  • 堆排序

    阅读经典——《算法导论》05 本文介绍一种神奇的排序方法:堆排序。 堆排序不像插入排序和归并排序那样直观,它利用了...

  • 堆排序HeapSort

    引用算法导论中对于堆排序的描述: Like merge sort,but unlike insertion sor...

  • 算法导论-排序和顺序统计量

    排序算法 输入:一个n个数的序列。 输出:输入序列的一个排列(重排)

  • 计数排序、基数排序和桶排序

    阅读经典——《算法导论》07 到目前为止,我们已经介绍了插入排序、归并排序、堆排序、快速排序这四种排序算法,他们的...

  • [算法导论]堆排序

    主要测试大堆,测试源码在(github) 堆 堆可以看成一个近似的完全二叉树,除了底层外,该树是完全充满的,而且是...

  • iOS算法总结-堆排序

    iOS算法总结-堆排序 iOS算法总结-堆排序

  • [数据结构]堆排序 解题报告

    Problem Description 实验要求:用堆排序算法按关键字递减的顺序排序。程序输入:待排序记录数(整数...

  • 堆排序---基础篇

    本文主要介绍堆排序的一些基本过程和分析。 大纲 堆排序简介 堆排序代码实现 1. 堆排序简介 1.1 堆排序的存储...

  • 对于基础排序算法的简要总结

    本文主要分析排序算法中的选择排序、插入排序、希尔排序、归并排序、快速排序和堆排序,以及其部分优化方式,部分代码示例...

网友评论

      本文标题:算法导论-排序和顺序统计量-堆排序(缺代码)

      本文链接:https://www.haomeiwen.com/subject/hjqvhxtx.html