首页 > 编程语言 > 详细

排序算法 -- 堆排序

时间:2017-03-12 19:20:16      阅读:159      评论:0      收藏:0      [点我收藏+]

前言

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

问题:

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

限制:

  空间复杂度O1,

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

思路:

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

  2 对二叉树进行堆排序

堆的定义

堆的特性

如何构造一个堆

构造一个堆的时间复杂度

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

堆排序

堆排序使用场景

 

排序算法 -- 堆排序

原文:http://www.cnblogs.com/bianzeming/p/6538638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!