堆的应用
baobao小野菊
这个作者很懒,什么都没留下…
展开
-
优先级队列
堆的实现--->优先级队列 注:由于大堆与小堆的实现大同小异,只需要修改大于或小于号;所以为了代码复用,本人使用了模板参数及模板的模板参数 模板的模板参数:为了引入仿函数即函数对象;此处不多介绍仿函数,它只是一个函数对象;一个类型;如下: 类型GreaterCompare与类型LessCompare:他们的内部都只是重载了(); template struct Great原创 2016-05-31 17:30:36 · 272 阅读 · 0 评论 -
文件压缩
Huffman树的应用-------实现文件压缩项目 Huffman树的相关定义: WPL(带权路径长度) = PL*weight PL (最小路径长度)= 完全二叉树的路径长度 路径(path):从树中一个结点到另一个结点之间的分支构成该俩点之间的路径。 路径长度:指路径上的分支条数。树的路径长度是从树的根结点到每一个结点的路径长度之和。 带权路径长度最小原创 2016-07-22 23:30:23 · 1199 阅读 · 4 评论 -
堆排序
题目:堆排序原创 2016-05-31 23:31:33 · 327 阅读 · 0 评论 -
堆的实现
堆的实现 堆的介绍: 二叉堆的底层数据结构为数组,它可以被视为完全二叉树结构; 堆的特性: 1、父结点总是大于(或小于)子结点 2、每个节点的左子树和右子树都是一个最大堆(或最小堆) 如图: 堆的代码实现如下: 提示:本程序利用仿函数与模板实现的堆,大堆与小堆的代码只是一个大于小于号的问题,所以我通过模板传参,实现大小堆,代码复用了起原创 2016-06-22 12:58:37 · 327 阅读 · 0 评论 -
100w个数中找出最大的k个数
题目:100w个数中找出最大的k个数原创 2016-06-05 17:46:47 · 783 阅读 · 3 评论