博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
题目30:哈夫曼树
阅读量:5204 次
发布时间:2019-06-13

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

http://ac.jobdu.com/problem.php?cid=1040&pid=29

题目描述:

哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。

输入:

输入有多组数据。

每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。

输出:

输出权值。

样例输入:
5  1 2 2 5 9
样例输出:
37
// 题目30:哈夫曼树.cpp: 主项目文件。//不使用优先队列(堆结构)#include "stdafx.h"#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int MAX=1<<30;const int N=20003;int a[N];//int level[N];bool used[N];int n;int selectMin(int length){ int minIndex=-1,min=MAX; for(int i=0;i
>n&&n!=0) { for(int i=0;i
>a[i]; int wholeWeight=huffmanTree(); cout<
<

转载于:https://www.cnblogs.com/cjweffort/archive/2013/03/05/3374912.html

你可能感兴趣的文章
IT知识学习链接
查看>>
元编程艺术,第 1 部分: 元编程简介
查看>>
yield return的作用
查看>>
Rose与UML类图关系与生成代码剖析
查看>>
面试题6:从尾到头打印链表
查看>>
303. Range Sum Query - Immutable
查看>>
计算某天在此一年中的天数
查看>>
导航平滑滚动到页面某个锚点
查看>>
Remote Desktop安卓软件实现手机远程控制电脑
查看>>
Java的集合基础
查看>>
Linux 中的命令链接操作符
查看>>
java方法的重载
查看>>
[LeetCode] Remove Nth Node From End of List
查看>>
js自定义右键菜单
查看>>
hdu 5352 匈牙利(多重匹配)
查看>>
前端 jQuery副本
查看>>
二叉搜索树
查看>>
What is an ORA-600 Internal Error? (文档 ID 146580.1)
查看>>
JavaScript中的继承之寄生式继承
查看>>
delphi GDI 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法
查看>>