码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法 -- 堆排序

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

标签:复杂度   html   使用   htm   定义   排序   nlog   最大   删除   

前言

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

问题:

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

限制:

  空间复杂度O1,

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

思路:

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

  2 对二叉树进行堆排序

堆的定义

堆的特性

如何构造一个堆

构造一个堆的时间复杂度

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

堆排序

堆排序使用场景

 

排序算法 -- 堆排序

标签:复杂度   html   使用   htm   定义   排序   nlog   最大   删除   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!