超链接:Huffman编码树

总时间限制: 
1000ms 
内存限制: 
65535kB
描述

构造一个具有n个外部节点的扩充二叉树,每个外部节点Ki有一个Wi对应,作为该外部节点的权。使得这个扩充二叉树的叶节点带权外部路径长度总和最小:

Min( W1 * L1 + W2 * L2 + W3 * L3 + … + Wn * Ln)

Wi:每个节点的权值。

Li:根节点到第i个外部叶子节点的距离。

编程计算最小外部路径长度总和。

输入
第一行输入一个整数t,代表测试数据的组数。
对于每组测试数据,第一行输入一个整数n,外部节点的个数。第二行输入n个整数,代表各个外部节点的权值。
2<=N<=100
输出
输出最小外部路径长度总和。
样例输入
2
3
1 2 3
4
1 1 3 5
样例输出
9
17

分析:直接利用优先队列水一下。。。

#include <cstdio>
#include <iostream>
#include <queue>
#include <cstring>
using namespace std;int t,n;
priority_queue<int,vector<int>,greater<int>> q;int main()
{cin >> t;while(t--) {cin >> n;while(n--) {int a;cin >> a;q.push(a);}int sum = 0;while(!q.empty()) {int a = q.top();q.pop();if(!q.empty()){int b = q.top();q.pop();sum += a+b;q.push(a+b);}}cout << sum << endl;}return 0;
}

二叉树--Huffman编码树--优先队列解法相关推荐

  1. DS二叉树——Huffman编码与解码(不含代码框架)

    题目描述 1.问题描述 给定n个字符及其对应的权值,构造Huffman树,并进行huffman编码和译(解)码. 构造Huffman树时,要求左子树根的权值小于.等于右子树根的权值. 进行Huffma ...

  2. 二叉树应用-Huffman编码树(数据结构基础 第6周)

    问题描述 分析 做了,在POJ上能AC,但是在coursera上一直提示Compile Error. 没找着问题,呃,,, 源码 #include<iostream> using name ...

  3. Huffman编码树 求WPL

    描述 构造一个具有n个外部节点的扩充二叉树,每个外部节点Ki有一个Wi对应,作为该外部节点的权.使得这个扩充二叉树的叶节点带权外部路径长度总和最小: Min( W1 * L1 + W2 * L2 + ...

  4. 数据结构二叉树之Huffman编码

    二叉编码树以及Huffman编码 abstract: ​ 在初学二叉树的时候,我们就提出了二叉树的一个基本应用:编码树.那么,就编码树我们究竟该如何实现呢?下面我们来探讨这个问题. 一.PFC编码以及 ...

  5. Huffman编码(Huffman树)

    [0]README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 "Huffman编码(Huffman树)" 的idea 并用源代码加以实现: 0.2) ...

  6. 数据结构实验三:Huffman树及Huffman编码的算法实现

    Exp03 Huffman树及Huffman编码的算法实现 Author: Maskros 实验目的 了解该树的应用实例,熟悉掌握Huffman树的构造方法及Huffman编码的应用, 了解Huffm ...

  7. 3. 数据结构--二叉树 BST AVL树 Huffman

    数据结构–二叉树 KEY:(不敢相信没有堆-) 二叉树的定义及其主要特征 ☑️ 二叉树的顺序存储结构和链式存储结构实现 二叉树的遍历及应用 二叉排序(查找.检索)树 (BST) 平衡的二叉检索树- A ...

  8. Huffman树与Huffman编码

    Huffman树与Huffman编码 问题描述 已知某系统在通信联络中只可能出现6种字符,其使用频度如下表所示: 根据Huffman编码原理,为6种字符设计一种Huffman编码方案. 算法分析与设计 ...

  9. huffman树和huffman编码

    不知道为什么,我写的代码都是又臭又长. 直接上代码: #include <iostream> #include <cstdarg> using namespace std; c ...

最新文章

  1. C++入门教程,全套C++基础教程(已更新完毕)
  2. R语言实战应用精讲50篇(十四)-R语言构建层次分析模型
  3. 2.3.1 进程同步 进程互斥
  4. cad画流程图的插件_流程图控件FlowChart.NET使用教程:安排组件的使用
  5. gem install sass 本地配置和淘宝源无效的解决办法
  6. Wordpress SEO robots
  7. 95-136-043-源码-Operator-LegacyKeyedCoProcessOperator
  8. 重点人员动态管控系统开发方案,情指勤一体化平台建设
  9. 腾讯云服务器被攻击了怎么办?
  10. 详解Unity中的生命周期函数
  11. 深度学习之facenet人脸识别网络介绍
  12. 2011年新的个人纳税情况
  13. 远程连接腾讯云MySQL数据库
  14. 安灯(Andon)系统,生产车间的得力助手
  15. js获取url中的主域名
  16. 国产芯片时代来袭 SIT1028是一款内部集成高压LDO稳压源的本地互联网络(LIN)物理层收发器 TJA 1028T
  17. Tushare介绍、安装及使用教程
  18. 安卓桌面壁纸_效仿安卓?iOS14或将支持“快应用” 功能 可玩性更强了
  19. 周末交友好运气:请找中国张名记
  20. 下载的mp3音频怎么转换wav格式

热门文章

  1. 因计算机丢失d3dx9-30,win10 64位纯净版运行仙剑5提示缺少d3dx9_30.dll的修复方法
  2. 更安静的听音乐,摆脱户外噪音干扰,哈氪拾光Pro主动降噪耳机体验
  3. 这次终于理解了PCA主成分分析(附代码)
  4. 一个良好的习惯由二十八天养成。
  5. ACL2022论文分类汇总-Prompt、句子表征、检索排序摘要
  6. Ogre渲染优化心得(三) -- 优化天龙八部的地形
  7. 使用GitHub打造你的个人主页
  8. Android百度地图使用
  9. oj3014文件格式变换
  10. Android官方文档翻译-Broadcasts