摘要: (二叉)堆是一种特殊的数据结构.:(二叉)堆数据结构是一种数组对象,它可以被视为一种完全二叉树:树中的每个节点与数组中存放该节点值的那个元素对应。树的每一层都是填满的,最后一层除外.:(二叉)堆的用途很广,例如典型的运用--优先队列|堆排序{速度比快速排序慢,比插入排序块O(nlg(n))}:下面我用一个比较通俗易懂的程序以及相关图解来演示一下如何建堆,如何利用堆进行排序小贴士:*读者如果细细品味,能发现堆排序就是在利用优先队列进行排序, *另外优先队列在dijkstra算法与A*算法中具有十分重要的应用 *所以只有先弄懂了(二叉)堆才能知道优先队列的工作原理,然后才能更加游刃有余的实现... 阅读全文
posted @ 2011-03-19 09:37 Penseur 阅读(4212) 评论(2) 推荐(1) 编辑