博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优先队列实现哈弗曼最小权值
阅读量:5128 次
发布时间:2019-06-13

本文共 755 字,大约阅读时间需要 2 分钟。

建立哈弗曼树要求我们每次都选频率权值最小的点构成节点,即权值小的点在树的深处,权值大的点在树的浅处,根据节点选择的特点,我们可以把节点的值放在优先队列中,包括新形成的节点。

我们先定义优先队列的优先级别。

1 struct cmp2 {3    bool operator()(const int &a,const int &b)4    {5        return a>b;6    }7 };//最小值优先出队

然后就是实现的整个程序。

#include
#include
#include
#include
#include
#define maxn 50050using namespace std;struct cmp{ bool operator()(const int &a,const int &b) { return a>b; }};int main(){ int n; while(scanf("%d",&n)!=EOF) { int x; priority_queue
,cmp>q; for(int i=0;i

练习题链接

http://www.51nod.com/onlineJudge/questionCode.html#problemId=1117&noticeId=19046

 

转载于:https://www.cnblogs.com/NaCl/p/4705922.html

你可能感兴趣的文章
数据分析的道与术
查看>>
2019.03.25 Ajax三级联动
查看>>
[开源]使用C# 对CPU卡基本操作封装
查看>>
NGUI3.5系列教程之 UILabel
查看>>
吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-zoom-out...
查看>>
jsp页面输出当前时间
查看>>
代码规范
查看>>
模板-线段树
查看>>
为什么使用模板引擎
查看>>
数据驱动测试二:使用TestNG和CSV文件进行数据驱动
查看>>
WCF权限认证多种方式
查看>>
缓动小算法
查看>>
chrome浏览器控制台创建js脚本并执行
查看>>
js div模拟水平滚动条
查看>>
Observer 观察者
查看>>
数据库三大范式
查看>>
ap module omap4460 分类: arm-linux-Ub...
查看>>
for each...in,for...in, for...of
查看>>
jquery简介(一)
查看>>
Create ISO library over NFS for XEN server templates
查看>>