首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
admin
2010-12-17
57
问题
阅读下列函数说明和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);
}
(4)
选项
答案
HT[s1].weight+HT[s2].weight
解析
转载请注明原文地址:https://www.kaotiyun.com/show/wqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
Bug记录信息包括________________。①被测软件名称②被测软件版本③测试人④错误等级⑤开发人⑥详细步骤
若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数________________。
算术表达式(a-b)*c+d的后缀式是()(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
一个Web信息系统所需要进行的测试包括____________。①功能测试②性能测试③可用性测试④客户端兼容性测试⑤安全性测试
为了能按时交付系统,开发小组在实现“确定最优任务分配方案”功能时采用了蛮力的方法。在系统交付后,对可能出现更多任务量的情况,采用更有效的方法来实现该功能,这属于()。
某开发小组欲开发一个大型软件系统,需求变化较小,此时最不适宜采用()过程模型。
计算机系统中,虚拟存储体系由______两级存储器构成。
测试记录包括、(64)。①测试计划或包含测试用例的测试规格说明。②测试期间出现问题的评估与分析。③与测试用例相关的所有结果,包括在测试期间出现的所有失败。④测试中涉及的人员身份。
正确的集成测试描述包括(43)。①集成测试也叫做组装测试,通常是在单元测试的基础上,将模块按照设计说明书要求进行组装和测试的过程②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
随机试题
细胞学检查是指对患者病变部位脱落、刮取或穿刺抽取的细胞,进行病理形态学的观察并做出定性诊断的检查方式。细胞学检查主要应用于肿瘤的诊断,也可用于某些疾病的检查和诊断,如内部器官炎症性疾病的诊断和激素水平的判定等。根据上述定义,下列属于细胞学检查的是:
公务员医疗补助经费来源于______,专款专用、单独管理,与基本医疗保险基金分开核算。
A.耻骨联合B.尿生殖器C.直肠D.前列腺E.子宫
工程咨询单位的()是从事市场中介服务的法律基础,是坚持客观、公正立场的前提条件,是赢得社会信任的重要因素。
下列关于评标委员会在对实质上响应招标文件要求的投标进行报价评估时,除招标文件另有规定外,应当进行修正的情形,说法错误的是()。
注册会计师在制定计划的重要性时,下列()因素可能表明存在一个或多个特定类别的交易、账户余额或披露的重要性水平,这些一个或多个重要性水平可能合理预期影响财务报表使用者依据财务报表作出的经济决策。
山东运河文化是以京杭大运河为依托形成的,是以商业文化和市井文化为主要特征的地域文化。早在春秋战国时期,山东境内就有了人工开挖的运河。元代以前,这些运河基本都是区域性的,后来元代开挖会通河,明代对其进行大规模修整,运河便将山东与江南沟通,成为中国南北运输的主
《牧童短笛》是贺绿汀创作的一首具有民族风味的()。
老师在管理班级时,让每位学生都轮流当班干部。这属于()模式。
莫里哀曾说:“喜剧的责任,就是通过娱乐来纠正人的缺点。”近年来的法国轻喜剧,尤其擅长_______,用淡淡的笑声拆解社会难题的九连环,具有较高的思想价值和现实意义。 填入划横线部分最恰当的一项是( )。
最新回复
(
0
)