首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
admin
2010-12-17
105
问题
阅读下列函数说明和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
.weight<minl)){
*s1=i;
min 1=HT
.weight;
}
}
for(i=0;i<=end;i++){/*找次小节点的序号*/
if((HT
.parent==0)&&( (2) )
&&(min 2>HT
.weight)){
*s2=i;
min 2=HT
.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
.weight=(4);
}
}
void HuffmanTreeEncoding(char sen[],HuffmanTree HT)
{ /*将句子进行编码*/
int i=0;
int j;
while(sen
!=’\0’){
for(j=0;j<n;j++){
if(HT[j].letter==sen
)(/*字母吻合则用代码取代*/
strcat(coding, (5) );
break;
}
}
i++;
if (Sen [1]==32) i++;
}
printf("\n%s",coding);
}
(2)
选项
答案
*s1 !=i
解析
转载请注明原文地址:https://www.kaotiyun.com/show/rqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
根据《计算机软件保护条例》的规定,著作权法保护的计算机软件是指________________。
某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测
程序计数器(PC)是_______中的寄存器。
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
驻留在多个网络设备上的程序在短时间内同时产生大量的请求消息冲击某Web服务器,导致该服务器不堪重负,无法正常响应其他合法用户的请求,这属于(9)。
浮点数能够表示的数的范围是由其__________的位数决定的。
用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值。
随机试题
当代中国的行政决策主要包括()
直肠癌最主要的转移途径
患者,女,37岁。心悸失眠,虚烦神疲,梦遗健忘,手足心热,口舌生疮,舌红少苔,脉细数,宜选
A.苯妥英钠B.乙琥胺C.卡马西平D.促肾上腺皮质激素E.丙戊酸钠
甲、乙、丙三人成立一普通合伙企业,总资本10万元,成立时甲投入一台机器,价值2万元,现金2万元。经营3年后,该合伙企业对外欠债11万元。现甲提出退伙,那么下列说法正确的是哪些?()
公积金个人住房贷款实行()的原则。
工作分析是通过系统的分析方法来确定()的过程。
国家发改委会同工业和信息化部、农业部、商务部等16个部门共同制定《降低流通费用提高流通效率综合工作方案》,进一步降低企业流通费用,提高流通效率。降低流通费用会:
社会性处罚:指存在失信行为的人员所受到的与自身失信行为没有直接关联的来自其他部门的限制和处罚。下列属于社会性处罚的是
洪水
最新回复
(
0
)