利用优先级队列生成 哈夫曼树
来源:互联网 发布:淘宝买二手手机可靠吗 编辑:程序博客网 时间:2024/06/06 07:11
#include<stdio.h>#include<iostream>#include<stack>#include<string.h>#include <queue>using namespace std;//哈夫曼树//第一行输入一个数n,表示叶节点的个数//需要用这些叶节点生成哈夫曼树,//根据哈夫曼树的概念,这些结点有权值,即weight,//题目需要输出所有节点的值与权值的乘积之和priority_queue<int, vector<int> , greater<int> > Q; //建立一个小顶堆int main(){ freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n; while(scanf("%d", &n) != EOF){ while( !Q.empty()){ Q.pop(); } for(int i = 0; i < n; i++){ int x; scanf("%d", &x); Q.push(x); } int ans = 0; while(Q.size() > 1){ int a = Q.top(); Q.pop(); int b = Q.top(); Q.pop(); ans += a + b; Q.push(a + b); } printf("%d\n", ans); } return 0;}
阅读全文
0 0
- 利用优先级队列生成 哈夫曼树
- Entropy(哈夫曼树--优先级队列)
- 优先级队列 + 哈夫曼树
- 利用优先级队列实现事件驱动模拟
- 利用堆实现优先级队列博文
- Python利用heapq实现一个优先级队列
- 优先级队列(哈夫曼树)poj3253
- hdu 1053 哈夫曼树 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- 优先级队列
- getSimpleName()
- C++primer学习笔记-----6.6函数匹配
- HTML5新增的元素属性及废除的元素属性
- (三)Struts1.x高级应用
- Linux基础学习笔记之time命令、strace命令、ltrace命令
- 利用优先级队列生成 哈夫曼树
- JavaScript BOM基础笔记(2017/06/05)
- DHT12温湿度传感器IIC,I2C接口调试心得和代码说明
- [Codeforces 808F] [二分] [最小割] Card Game
- 吴晓波听后感
- CSS实现垂直居中水平居中的绝对定位居中技术
- 蓝牙加密【DATA SIGNING】【SECURITY MODES】【SECURITY COMMAND FORMAT】【主机加密流程】【加密流程】【Bonding Procedure】
- 解决windows7窗口显示缓慢问题
- 基于普通IO流的小说管理系统