排序算法 -- 堆排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法 -- 堆排序相关的知识,希望对你有一定的参考价值。

前言

面试中被问到了一个题目(http://www.voidcn.com/blog/u010943214/article/p-3808842.html),然后重温了一遍堆排序。

问题:

给你一个双向链表,有序输出,

限制:

  空间复杂度O1,

  时间复杂度nlogn,最坏不能退化n2

思路:

  1 根据双向链表构建一个二叉树

  2 对二叉树进行堆排序

堆的定义

堆的特性

如何构造一个堆

构造一个堆的时间复杂度

如何从堆中删除最大的键值

堆排序

堆排序使用场景

 

以上是关于排序算法 -- 堆排序的主要内容,如果未能解决你的问题,请参考以下文章

八大内部排序算法之希尔堆排序插入排序算法

算法-详解堆排序算法

堆排序算法的实现

算法2 排序算法:直接选择排序和堆排序

排序算法总结之堆排序

排序算法:堆排序-Java实现