Welcom to RO_wsy's blog

摘要: 堆排序是一种高效的比较排序算法,运行时间为O(nlgn)。这种排序需要用到一种叫做(二叉)堆的数据结构,堆是一种数组对象,也可以看做一颗完全二叉树,对于任一节点,左右子节点和父节点分别可如下简单算出 PARENT(i) ((i - 1) / 2) LEFT(i) (2 * i + 1) RIGHT(i) (2 * i + 2)堆分为大根堆和小根堆,分别具有如下性质: a[PARENT(i)] >= a[i] a[PARENT(i)] <= a[i]本文采用大根堆说明堆排序算法的实现。c++实现源代码如下:#include <iostream>using namespac 阅读全文
posted @ 2012-10-14 22:33 RO_wsy 阅读(155) 评论(0) 推荐(0) 编辑