首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] HufTman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值{W
admin
2010-12-17
87
问题
阅读下列函数说明和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);
}
(1)
选项
答案
HT[i].parent==0
解析
转载请注明原文地址:https://jikaoti.com/ti/24i7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为________________天。活动FG的松弛时间为________________天。
风险控制不包括______。
算术表达式(a-b)*c+d的后缀式是()(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
以下关于软件测试分类定义的叙述,不正确的是(42)。
对于逻辑表达式((a||b)||(c&&d)),需要()个测试用例才能完成条件组合覆盖。
在结构化分析模型中,______描述了所有在目标系统中使用的和生成的数据对象。
在计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA等。其中,采用______方式时,不需要CPU控制数据的传输过程。
通常一个HFC网络由前端(FE)、主数字终端(HDT)、光纤节点(FN)、网络接口单元(NIU)、综合业务单元(ISU)及传输线路等构成。根据HFC网接入Internet网的典型配置,将图6-12所示的拓扑图中(A)~(D)空缺处的名称填写完整(请使用题干
随机试题
张三、李四、王五共同设立A有限责任公司,其中张三、李四以货币形式出资,王五以土地使用权出资。公司成立1年后,经全体股东同意,赵六成为A公司的新股东?不久后公司发现王五作为设立公司出资的土地使用权的实际价额显著低于公司章程所定价额。该公司的注册资本为人民币3
RLC串联电路的品质因数,Q值越大,说明()。
某单位在为职工进行职业健康检查时,从事职业病诊断的医疗卫生机构出具了一份虚假职业病证明文件,并获得了5000元的收入。根据《职业病防治法》的规定,应当没收该机构的违法所得,并处()万元的罚款。
根据2009年1月1日开始施行的《增值税暂行条例实施细则》,下列企业中应当认定为一般纳税人的有()。
甲将一辆货车作价抵押给乙,并办理了抵押登记,后甲因操作失误导致货车彻底报废,之后甲在保险公司获得了赔偿金。则下列表述错误的是()。
以下是一个西方经济学家陈述的观点:一个国家如果能有效地运作经济,就一定能创造财富而变得富有;而这样的一个国家想保持政治稳定,它所创造的财富必须得到公正的分配;而财富的公正分配将结束经济风险:但是经济风险的存在正是经济有效率运作的不可或缺的先决条件。
e/2
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向()的设计方法。
Thephysicisthasmadeadiscovery,______ofgreatimportancetotheprogressofscienceandtechnology.
A、Becausethedogdidn’tappearanylonger.B、BecauseAlbertcouldn’taffordthechocolateanylonger.C、BecauseAlbertdidn’tl
最新回复
(
0
)