数据结构/算法
文章平均质量分 71
cyh706510441
这个作者很懒,什么都没留下…
展开
-
[堆排序之一]图文说明,快速理解
前言:在学堆排序的时候,第一份资料看的是算法导论,嚼着好晦涩,昏昏欲睡,不直观不好理解。于是又查阅了其他资料,果然网上各种总结更给力啊。我根据自己的情况,把堆排序学习分成3部分:快速理解、深入理解原理和C++实现。自我感觉,这种安排对快速理解堆排序还是很有帮助的。所谓“原创”,是在整理网友资料基础上,加上了一些自己的理解和感悟。 堆的定义:堆(heap)是一种数据结构。定义原创 2015-01-07 10:59:59 · 736 阅读 · 0 评论 -
[堆排序之三]实践,C++实现
输入:数组a输出:对数组a进行堆排序(升序)注意:根节点的下标为0#include using namespace std;void AdjustHeap(int a[], int i, int heapsize){ int lchild = 2 * i + 1; int rchild = 2 * i + 2; int max = i; if (lchild原创 2015-01-09 13:04:01 · 615 阅读 · 0 评论 -
[堆排序之二]深入理解原理
占坑原创 2015-01-09 13:14:36 · 426 阅读 · 0 评论 -
[堆排序之番外] heap-size[A]的理解
前言自己在看《算法导论》的时候,对heap-size[A]理解不清楚,也影响了看下去的心情(逃,碰到问题就不想看了...在看完了整个算法,写过代码以后,才算是理解了些。下面写下自己的理解。正文《算法导论》中的对heap-size[A]的描述是:表示堆的数组A是一个具有两个属性的对象:length[A]是数组中的元素个数,heap-size[A]是存放在A中的堆的原创 2015-01-09 15:09:24 · 3062 阅读 · 2 评论