JD 1172:哈夫曼树
来源:互联网 发布:小啰啰崩没哏网络直播 编辑:程序博客网 时间:2024/06/11 21:51
OJ题目:click here~~
题目分析:百度百科哈夫曼树
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。带权路径长度WPL= 所有的非叶子节点之和。
AC_CODE
int main(){ int n ; priority_queue< int, vector<int> , greater<int> > que ; while(scanf("%d",&n) != EOF){ int ans = 0 ; while(!que.empty()) que.pop() ; int x , i ; for(i = 0;i < n;i++){ scanf("%d",&x) ; que.push(x) ; } while(que.size() > 1){ int a = que.top() ; que.pop() ; int b = que.top() ; que.pop() ; ans += (a + b) ; que.push(a + b) ; } cout << ans << endl ; }}
0 0
- JD 1172:哈夫曼树
- jd
- jd
- JD
- JD
- JD-Eclipse
- JD-Eclipse_4you
- AL JD
- JD-Eclipse
- jd-eclipse
- JD(2014)
- JD(2)
- JD(3)
- JD所用
- JD-20170726
- JD面试
- JD笔试
- java 反编译工具:JD-GUI、JD-Eclipse、JD-IntelliJ
- How to create this array in Ruby?
- java_ssh_架包缺失异常总结
- Java synchronized详解
- 故乡的河
- java中的lang类型
- JD 1172:哈夫曼树
- NGUI小地图制作教程 1
- python基础教程_学习笔记10:异常
- c++习题1_H_虚函数-计算图形面积
- c#开发规范
- typedef struct与struct
- OCP 1Z0 052 81
- ThinkPHP的快速缓存方法---F
- MIT《线性代数》第二章 高斯消去 初等阵(消元阵) 置换阵