随笔 - 13  文章 - 36  trackbacks - 0
<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(2)

随笔档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜

     摘要: 堆排序算法

---------- C++博客 Alex-Lee 2009-10-15

(二叉)堆结构是一种数组对象,它可以被视为一颗完全二叉树。算法时间复杂度O(nlgn),具有插入排序和合并排序的优点。堆结构满足堆性质:对除根以外的每个节点i,满足A[PARENT(i)] >= A[i]。

堆排序算法实现有三个部分完成:
1,保持堆性质函数heap_ify;
2,构建堆函数build_heap;
3,堆排序函数 heap_sort;
另外,在优先级队列中有extract-max 过程和insert过程,在作业队列中常用,比如消息队列。这部分在优先级排序中说明。
  阅读全文
posted @ 2009-10-15 21:01 Alex-Lee 阅读(1635) | 评论 (1)编辑 收藏