社区
C语言
帖子详情
解决立即给分!!!!!
zc_0702
2003-06-17 06:53:41
在一份电文中共使用5种字符:A,B,C,D,E,它们在电文中出现的频率分别为4,7,5,2,9。试通过构造最优化二叉树(要求左子树根结点的权值小于右子树根结点的权值)来确定每种字符的哈夫曼编码。
...全文
29
5
打赏
收藏
解决立即给分!!!!!
在一份电文中共使用5种字符:A,B,C,D,E,它们在电文中出现的频率分别为4,7,5,2,9。试通过构造最优化二叉树(要求左子树根结点的权值小于右子树根结点的权值)来确定每种字符的哈夫曼编码。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
soniczhm
2003-06-17
打赏
举报
回复
27
11 16
5(C) 6 7(B) 9(E)
2(D) 4(A)
xiaolongleee
2003-06-17
打赏
举报
回复
// huffman.cpp : 定义控制台应用程序的入口点。
//vs.net通过
#include "stdafx.h"
#define MAX 21
typedef struct
{
char data;
int weight;
int parent;
int left;
int right;
}Huffcode;
typedef struct
{
char cd[MAX];
int start;
}code;
int _tmain(int argc, _TCHAR* argv[])
{
Huffcode ht[2*MAX];
code hcd[MAX],d;
int i,k,f,l,r,n,c,m1,m2;
printf("元素个数:");
scanf("%d",&n);
for(i=1; i<=n; i++)
{
getchar();
printf("第%d个元素=>\n\t结点值:",i);
scanf("%c",&ht[i].data);
printf("\t权重:");
scanf("%d",&ht[i].weight);
}
for(i=1; i<=2*n-1; i++)
{
ht[i].parent = 0;
ht[i].left = 0;
ht[i].right = 0;
}
for(i=n+1; i<=2*n-1; i++)
{
m1 = m2 = 300;
l = r = 0;
for(k=1; k<=i-1; k++)
{
if(ht[k].parent == 0)
{
if(ht[k].weight < m1)
{
m2 = m1;
r = l;
m1 = ht[k].weight;
l = k;
}
else if(ht[k].weight < m2)
{
m2 = ht[k].weight;
r = k;
}
}
}
ht[l].parent = i;
ht[r].parent = i;
ht[i].weight = ht[l].weight + ht[r].weight;
ht[i].left = l;
ht[i].right = r;
}
for(i=1; i<=n; i++)
{
d.start = n+1;
c = i;
f = ht[i].parent;
while(f != 0)
{
if(ht[f].left == c)
{
d.cd[--d.start] = '0';
}
else
{
d.cd[--d.start] = '1';
}
c = f;
f = ht[f].parent;
}
hcd[i] = d;
}
printf("输出huffman编码:\n");
for(i=1; i<=n; i++)
{
printf("%c:",ht[i].data);
for(k=hcd[i].start; k<=n; k++)
{
printf("%c",hcd[i].cd[k]);
}
printf("\n");
}
return 0;
}
Alicky
2003-06-17
打赏
举报
回复
UP
ilmlb
2003-06-17
打赏
举报
回复
up
zteliubin
2003-06-17
打赏
举报
回复
用程序计算吗,要花一点时间,结果应该是:
E
C B
D A
你造吗?牛X财务
分
分
钟挖出Excel错误值【会计实务操作教程】.pptx
解决
这一问题的关键是
立即
撤销操作或更改公式引用。 7. #NUM! 错误值的出现原因及
解决
方案 当公式或函数中的某个数字参数不正确时,会出现 #NUM! 错误。例如,使用了不接受的参数或迭代函数没有产生有效结果时。...
淘客帝国免费版
有效
解决
因API调用频率不够而无法调取到商品数据的情况! 彻底放弃手动更改config.php的麻烦,后台可配置App,PID,站长联系信息,备案信息,统计代码,更改管理员密码等! 设置缓存开关:用户可自己选择开启或关闭...
淘客帝国程序V5.14 版 真正完全破解版,无限制版,后台可设置
有效
解决
因API调用频率不够而无法调取到商品数据的情况! 彻底放弃手动更改config.php的麻烦,后台可配置App,PID,站长联系信息,备案信息,统计代码,更改管理员密码等! 设置缓存开关:用户可自己选择开启或关闭...
淘客帝国程序5.14稳定版
有效
解决
因API调用频率不够而无法调取到商品数据的情况! 彻底放弃手动更改config.php的麻烦,后台可配置App,PID,站长联系信息,备案信息,统计代码,更改管理员密码等! 设置缓存开关:用户可自己选择开启或关闭...
80航标导购网.rar
有效
解决
因API调用频率不够而无法调取到商品数据的情况! 其他高级功能:更多功能不再细致描述! 【安装方法】 1:上传文件夹中的网站文件中至网站根目录,或子目录 2:登陆后台http://域名/admin/ 并修改配置站点...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章