阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
[说明]
HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。
构造最优二叉树的Huffman算法如下:
①根据给定的n各权值{W1,w2,…,wn)构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵树Ti中只有一个带权为wi的根节点,其左右子树均空。
②在F中选取两棵根节点的权值较小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根节点的权值为其左右予树根节点的权值之和。
③从F中删除这两棵树,同时将新得到的二叉树加入到F中。
重复②③,直到F中只剩一棵树为止。
函数中使用的预定义符号如下:
#define INT MAX 10000
#define ENCODING LENGTH 1000
typedef enum(none,left_child,right_child) Which;
/*标记是左孩子还足右孩子*/
typedef char Elemtype;
typedef struct TNode{//Huffman树节点
Elemtype letter;
int
weight; //权值
int parent; //父节点
Which sigh;
char *code; //节点对应编码
}HTNode,*HuffmanTree;
int n;
char coding[50];//储存代码
[函数]
void Select(HuffmanTree HT,int end,int *sl,int *s2)
/*在0~END之间,找出最小和次小的两个节点序号,返吲S1、S2*/
{
int i;
int min 1=INT_MAX;
int min 2=INT_MAX;
for(i=0;i<=end;i++){/*找最小的节点序号*/
if(( (1) )&&(HT[i].weight<minl)){
*s1=i;
min 1=HT[i].weight;
}
}
for(i=0;i<=end;i++){/*找次小节点的序号*/
if((HT[i].parent==0)&&( (2) )
&&(min 2>HT[i].weight)){
*s2=i;
min 2=HT[i].weight;
}
}
}
void HuffmanTreeCreat(HuffmanTree&HT)/*建立HUFFMAN树*/
{
int i;
int m=2*n-1;
int s1,s2;
for(i=n;i<m;i++){
Select( (3) );
HT[s1].parent=i;
HT[s2].parent=i;
HT[s1].sigh=left child;
HT[s2].sigh=right child;
HT[i].weight=(4);
}
}
void HuffmanTreeEncoding(char sen[],HuffmanTree HT)
{ /*将句子进行编码*/
int i=0;
int j;
while(sen[i] !='\0'){
for(j=0;j<n;j++){
if(HT[j].letter==sen[i])(/*字母吻合则用代码取代*/
strcat(coding, (5) );
break;
}
}
i++;
if (Sen [1]==32) i++;
}
printf("\n%s",coding);
}
(1)
HT[i].parent==0
比较优势和绝对优势内容,二者有什么联系和区别拜托各位了 3Q 其他 2020-05-16 …
就绪队列中有5个进程P1,P2,P3,P4和P5,它们的优先数和需要的处理机时间如下表所示。假设优先 计算机类考试 2020-05-23 …
求史记读书报告,3000字左右分为四个部分,第一部分,史记的由来,讲司马迁写史记的历程,第二部分, 其他 2020-05-23 …
下列内容属于旅游开发对社会环境造成破坏的是()?A.干扰生物的生活习性?B.人工设施破坏了优美和谐 语文 2020-07-07 …
第1题判断题分类广告的三大类别是招聘、房地产和汽车.()正确错误第2题判断题店内广告媒体有优惠券和 其他 2020-07-10 …
实验优化设计确定最优组合时,必须选取显著因素的优水平和显著交互作用的优搭配.当优水平和优搭配发生矛 语文 2020-07-12 …
EXCEL中如何让B列内容相同所对应的C列值按照B列的顺序出现在C列现在是这样B列和C列的内容是一 其他 2020-07-23 …
已知数列{an}的通项为an=log(n+1)(n+2)(n∈N*),我们把使乘积a1•a2•a3 其他 2020-07-27 …
英语作文Mrs.EllerMrs.Eller有一所大房子,想找两人合租.请你根据下列内容写一份出租广 其他 2020-11-05 …
请根据下列内容写一篇100字的短文,简述飞机旅行和火车旅行的优点和缺点,内容如下:交通工具飞机火车优 英语 2020-11-26 …