首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [预备知识] ①对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合{a,b,c,d}及其权值2、7、4、5,可构造如图
阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在对应栏内。 [预备知识] ①对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合{a,b,c,d}及其权值2、7、4、5,可构造如图
admin
2009-02-15
95
问题
阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在对应栏内。
[预备知识]
①对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合{a,b,c,d}及其权值2、7、4、5,可构造如图3所示的最优二叉树和相应的结构数组Ht(数组元素Ht[0]不用)(见表5)。
结构数组HT的类型定义如下:
#define MAXLEAFNUM 20
struct node {
char ch; / * 当前结点表示的字符,对于非叶子结点,此域不用*/
int weight; / * 当前结点的权值*/
int parent; / * 当前结点的父结点的下标,为0时表示无父结点*/
int Ichild, rchild
/ *当前结点的左、右孩子结点的下标,为0时表示无对应的孩子结点* /
} Ht[2 * MAXLEAFNUM];
②用’0’或’1’标识最优二叉树中分支的规则是:从一个结点进入其左(右)孩子结点,就用’0’(’1’)标识该分支(示例如图3所示)。
③若用上述规则标识最优二叉树的每条分支后,从根结点开始到叶子结点为止,按经过分支的次序,将相应标识依次排列,可得到由’0’、’1’组成的一个序列,称此序列为该叶子结点的前缀编码。如图3所示的叶子结点a、b、c、d的前缀编码分别是110、0、111、10。
【函数5.1说明】
函数void LeafCode (int root, int n)的功能是:采用非递归方法,遍历最优二叉树的全部叶子结点,为所有的叶子结点构造前缀编码。其中形参root为最优二叉树的根结点下标;形参 n为叶子结点个数。
在构造过程中,将Ht[p]. weight域用作被遍历结点的遍历状态标志。
【函数5.1】
char * * Hc;
void LeafCode (int root, int n)
{/*为最优二叉树中的n个叶子结点构造前缀编码,root是树的根结点下标* /
int i,p = root,cdlen =0;char code[20];
Hc=(char* * )malloc(.(n +]) *sizeof(char* )); /* 申请字符指针数组* /
for(i=1;i< =p;++i)
Ht[ i]. weight =0;/* 遍历最优二叉树时用作被遍历结点的状态标志*/
while(p) {/*以非递归方法遍历最优二叉树,求树中每个叶子结点的编码*/
if(Ht[p], weight ==0) { /*向左*/
Ht[ p]. weight =1
if (Ht[p],lchild !=0) { p=Ht[P].lchild; code[cdlen++] =’0’;]
else if (Ht[p]. rchild ==0) {/* 若是叶子结点,则保存其前缀编码*/
Hc[p] = ( char * ) malloc( (cdlen + 1 ) * sizeof (char) );
(1); strcpy(He[ p] ,code);
}
}
else if (Ht[ pi, weight == 1) { /*向右*/
Ht[p]. weight =2;
if(Ht[p].rchild !=0) {p=Ht[p].rchild; code[cdlen++] =’1’;}
}
else{/* Ht[p]. weight ==2,回退*/
Ht[p]. weight =0;
p=(2);(3); /*退回父结点*/
}
}/* while结束* /
}
【函数5.2说明】
函数void Decode(char*buff, int root)的功能是:将前缀编码序列翻译成叶子结点的字符序列并输出。其中形参root为最优二叉树的根结点下标;形参buff指向前缀编码序列。
【函数5.2】
void Decode( char * buff, int root)
Iint pre =root,p;
while ( * buff! = ’\0’) {
p = root;
while (p!=0){/*存在下标为p的结点*/
pre=p;
if((4))p=Ht[p].lchild; /*进入左子树*/
else p = Ht[p]. rchild; / *进入右子树*./
buff ++; / * 指向前缀编码序列的下一个字符* /
}
(5);
printf("%c", Ht [ pre]. ch);
}
}
选项
答案
(1)code[cdlen]=’\0’或code[cdlen]=0(2)Ht[p].par- ent (3)--cdlen或等价形式(4)*buff==’0’或等价形式 (5)buff--或等价形式
解析
(1)根据注释的提示,可知此小段代码的作用是把code字符串保存起来,结合下一句,可知应给code字符串添加一个结束符’0’。(2)将指针指向当前结点的父结点。(3)将code指针前移一位。(4)如果前缀编码为,’0’进入左子树。(5)注意下一个语句,Prinf(“%c”,Ht[pre].ch);其参数是pre,内层循环中有pre=p,这样做的目的是当Ht[p].lchild或 Ht[p]. rchild等于0时,不把这—层链人结果。
转载请注明原文地址:https://kaotiyun.com/show/GMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
(16)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
对象是面向对象系统的最基本的元素,一个运行期系统就是对象之间的协作。一个对象通过()改变另一个对象的状态。
在进行产品评价时,评价者需要对产品部件进行管理和登记,其完整的登记内容应包括(35)。①部件或文档的唯一标识符。②部件的名称或文档标题。③文档的状态,包括物理状态或变异方面的状态。④请求者提供的版本、配置和日期信息。
程序设计语言中(34)。
以下属于测试停止依据的是______。①测试用例全部执行结束②测试覆盖率达到要求③测试超出了预定时间④查出了预定数目的故障⑤执行了预定的测试方案⑥测试时间不足
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则完成该项目的最少时间为_____________(34)天。活动BD最多可以晚开始______________(35)天而不会影响整个项目的进度。(34)
如果在查找路由表时发现有多个选项匹配,那么应该根据___________(25)原则进行选择。假设路由表有4个表项如下所示,那么与地址139.17.179.92匹配的表项是____________(26)。(25)
在分布式数据库中有分片透明、复制透明、位置透明和逻辑透明等基本概念,其中:___________(19)是指局部数据模型透明,即用户或应用程序无须知道局部使用的是哪种数据模型;___________(20)是指用户或应用程序不需要知道逻辑上访问的表具体是怎
某软盘有40个磁道,磁头从一个磁道移至另一个磁道需要5ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和25ms,则读取一个100块的文件需要时间为(24)。
下图中,类Product和ConcreteProduct的关系是(45),类ConcreteCreator和ConcreteProduct的关系是(46)。(46)
随机试题
A.输新鲜全血B.输洗涤红细胞C.血浆置换D.糖皮质激素E.脾切除下列贫血患者的最合适的治疗是:女性,23岁。畏寒、发热、腰痛伴小便深黄3天人院。体检:中度贫血貌,巩膜轻度黄染,脾肋下刚及。化验:Hb7
一般在妊娠多少周后发现臀位可采用膝胸卧位纠正
赵先生,40岁,于饱餐、饮酒后突然发生中上腹持久性剧烈疼痛,伴恶心、呕吐出胆汁。查体:上腹部压痛,腹壁轻度紧张。血清淀粉酶明显升高。对赵先生的首要处理措施是
女青年牛某因在一档电视相亲节目中言词犀利而受到观众关注,一时应者如云。有网民对其发动“人肉搜索”,在相关网站首次披露牛某的曾用名、儿时相片、家庭背景、恋爱史等信息,并有人在网站上捏造牛某曾与某明星有染的情节。关于网民的行为,下列哪些说法是正确的?(2010
心理咨询保密例外的情况包括()
Faces,likefingerprints,are【C1】______Didyouever【C2】______howitispossibleforusto【C3】______people?Evenaskilledwriter
根据下面资料回答以下问题
Forthispart,youareallowed30minutestowriteacompositiononthetopic:OnOverseasStudy.Youshouldwriteatleast100
Forthispart,youareallowed30minutestowriteashortessayentitledHowtoDealwithCulturalDifferences?Youshouldwrit
TheMissAmericacelebration【C1】______asabeautycontestin1921,butnowpreferstoavoidsuch【C2】______sincebeautyisnolon
最新回复
(
0
)