由于此地板涉嫌违规,因此它将折叠在系统中以隐藏此地板并显示此地板
电文的符号集d及各文字出现的概率f如下。
D={a,b,c,d,e,f,g,h}{字符数n=8
f={ 5,29,7,8,14,23,3,11 } (
编写执行以下功能的程序:
1 .关于f的Huffman数
2 .求出d各文字的Huffman代码进行打印。
#包含
#包含
#包含
#define n 8 //设定权重数
#define m
2*n-1 //H树的节点数
类型德夫
定义结构//节点
{
int wi; //节点权重
查尔斯
数据; //该节点的data值
int parent,Lchild,Rchild; //父母和左右孩子的指针
(}huffm; //H树节点描述符
语音识别
构建huffmtree(huffmht[m1] )//h树的算法
{
int i,j,p1,p2; int w,s1,s2,max;
for(I=1; i=m; I//初始化
{ HT[i].wi=0;
ht [ I ].parent=ht [ I ].lchild=ht [ I ].rchild=0;
}
for(I=1; i=n; I )
扫描(' % d ',w ); //读取权重
for(I=n1;
i=m; I )//进行n-1循环,形成n-1个新节点,形成h树
{
p1=p2=0; //p1、p2是选择的权重最小的根节点编号
s1=s2=max; //max为机器能表示的最大整数
for(j=1; j=i-1; 从j//ht[1]~ht[I-1]中选择权重最小两个根节点
if(ht[j].parent==0) ) )。
if(ht[j].wi
{ s2=s1; p2=p1; //j节点作为最初权重最小的根节点
s1=HT[j].wi; p1=j; }
elseif(ht[j].wi