1. 堆排序(heap sort)

如果在一个连续表里存储的数据是一个小顶堆,按优先队列的操作方式反复弹出堆顶元素,能够得到一个递增序列。

也即对这个线性表而言,物理上并不是有序的,是逻辑上的有序。(很高级的做法)

基于这种技术完成排序工作,还需要解决两个问题?

  • 连续表里的初始元素序列通常不满足堆序;

    • 优先队列的初始建堆
  • 选出的元素存放在哪里?能不能利用已有空间?

    • 小顶堆 ⇒ 从大到小排序
    • 大顶堆 ⇒ 从小到大排序
posted on 2016-08-28 23:12  未雨愁眸  阅读(106)  评论(0编辑  收藏  举报