永发信息网

对下面给出的数据序列,构造一颗哈夫曼树,并求出其带权路径长度 4,5,6,7,10,12,15,18,23 急!!!!

答案:1  悬赏:10  手机版
解决时间 2021-04-28 08:26
对下面给出的数据序列,构造一颗哈夫曼树,并求出其带权路径长度 4,5,6,7,10,12,15,18,23 急!!!!
最佳答案
给你一个建树的代码
Select(HuffNode HT[],int j)
{
for(i=0;iif(HT[i].parent==0)
{s1=i;break;}
for(;iif((HT[i].parent==0)&&(HT[i].weights1=i;
HT[s1].parent=1;
for(i=0;iif(HT[i].parent==0)
{s2=i;break;}
for(;iif((HT[i].parent==0)&&(i!=s1)&&(HT[i].weights2=i;
return(s1);return(s2);}
void HuffmanTree(HuffNode HT[]){
m=2*n-1;int temp;
for(i=0;i {HT[i].weight=w[i]; HT[i].parent=0; HT[i].lchild=0; HT[i].rchild=0;}
for(;i {HT[i].weight=0; HT[i].parent=0; HT[i].lchild=0; HT[i].rchild=0;}
for(i=n;i Select(HT,i);
HT[s1].parent=i;
HT[s2].parent=i;
HT[i].lchild=s2;
HT[i].rchild=s1;
HT[i].weight=HT[s1].weight+HT[s2].weight;
}
temp=HT[i-1].lchild;HT[i-1].lchild=HT[i-1].rchild;HT[i-1].rchild=temp;
FILE *fp;
if((fp=fopen("E:\\HuffmanTree.txt","a+"))==NULL)
{printf("打不开此文件\n"); exit(0);}
printf("权值 父母 左孩子 右孩子\n");
fprintf(fp,"权值 父母 左孩子 右孩子\n");
for(i=0;ifprintf(fp,"%3d%6d%7d%8d\n",HT[i].weight,HT[i].parent,HT[i].lchild,HT[i].rchild);
printf("%3d%6d%7d%8d\n",HT[i].weight,HT[i].parent,HT[i].lchild,HT[i].rchild);
}
fclose(fp);
}
不完全,因为我做的还有译码和编码 当然还要你自己修改追问呵呵 ,这么多代码,辛苦了,谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ炫舞买来永结同心徽章没结婚会没了吗
信仰和信念有区别吗?是不是不只是一个宗教,
荷叶莲蓬藕求对下联
为什么手机用着用着会黑屏幕?
魔兽世界QS如何设置宏
黑板报主题有哪些比较好的?
山东济海华元医疗科技有限公司地址在什么地方
急需蒋姓新生男孩供能参考的名字
非诚勿扰葛优车晓台词,求《非诚勿扰》中葛优
QQ音乐下载路径怎么设置?
怎样快速下载电影啊?
爱是什么概念、喜欢又是什么。。两种是什么感
船公司是什么
初二物理题!~~~急哒!~~
信宜仔地址在什么地方,想过去办事
推荐资讯
和天酒店这个地址在什么地方,我要处理点事
可以送我QQ爱墙种子吗
长春二手房中介哪家好,济南房产中介哪家比较
求CSOL的女手臂用背刺银刃模型下载
胃口不好,舌苔厚白吃什么药防治?详细说
电磁炉通电有滴的一声,之后所有按键都没有反
如果欺骗了一个相信你的人?后果是什么?
求台式电脑装机配置
未婚男性领养女童男性未到四十周岁在人口普查
曹操到底算不算是个英雄
QQ空间最上面那一块怎么换颜色
弹琵琶的英语怎么写,我会弹琵琶翻译成英文
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?