首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明、图和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 一般的树结构常采用孩子一兄弟表示法表示,即用二叉链表作树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。例如,题图4-1(a)所示的树
阅读下列说明、图和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 一般的树结构常采用孩子一兄弟表示法表示,即用二叉链表作树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。例如,题图4-1(a)所示的树
admin
2018-07-23
63
问题
阅读下列说明、图和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
一般的树结构常采用孩子一兄弟表示法表示,即用二叉链表作树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。例如,题图4-1(a)所示的树的孩子一兄弟表示如题图4-1(b)所示。
函数LevelTraVerse()的功能是对给定树进行层序遍历。例如,对题图4-1所示的树进行层序遍历时,节点的访问次序为:D B A E F P C。
对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如下表所示。
Bool、Status类型定义如下:
typedef enum{FALSE=0,TRUE=1} Bool;
typedef enum{OVERFLOW=-2,UNDERFLOW=-1,ERROR=0,OK=1}Status;
树的二叉链表节点定义如下:
typedef struct Node{
char data;
Struct Node *firstchiid,*nextbrother;
} Node,*TreeNode;
【函数】
Status Leve1Traverse(TreeNode root)
{ /*层序遍历树,树采用孩子一兄弟表示法,root是树根节点的指针*/
Queue tempQ;
TreeNode ptr,brOtherptr;
if(!root)
return ERROR;
InitQueue(&tempQ);
____(1);
brotherptr = root ->nextbrother;
while (brotherptr){ EnQueue(&tempQ,brotherptr);
____(2);
} /*end-while*/
while(____(3)) {
____(4);
printf(’’%c\t’’,ptr->data);
if(____(5))continue;
____(6);
brotherptr=ptr->firstchiid->nextbrother;
while(brotherptr){ EnQueue(&tempQ,brotherptr);
____(7);
} /*end-while*/
) /*end-while*/
return OK;
) /*LevelTraverse*/
选项
答案
(1)EnQueue(&tempQ,root)(2)brotherptr=brotherpt->nextbrother (3)!IsEmpty(tempQ) (4)DeQueue(&tempQ,&ptr) (5)!ptr->firstchild (6)EnQueue(&tempQ,ptr->firstchild) (7)brotherptr=brotherptr->nextbrother。
解析
解答此题的关键在于理解用队列层序遍历树的过程。算法的流程是这样的:首先将树根节点入队,然后将其所有兄弟节点入队(当然,由于是根节点,故无兄弟节点);完成这一操作以后,便开始出队、打印;在打印完了之后,需要进行一个判断,判断当前节点有无孩子节点,若有孩子节点,则将孩子节点入队,同时将孩子节点的所有兄弟节点入队;完了以后继续进行出队操作,出队后再次判断当前节点是否有孩子节点,并重复上述过程,直至所有节点输出。
接下来以本题为例来说明此过程。首先将树根节点D入队,并同时检奄是否有兄弟节点,对于兄弟节点则一并入队。这里的D没有兄弟节点,所以队列此时应是:D。
接下来执行出队操作。D出队,出队以后检查D是否有子节点,经检查,D有子节点B,所以将B入队,同时将B的兄弟节点A和E按顺序入队。得到队列:B、A、E。
接下来再执行出队操作。B出队,同时检查B是否有子节点,B无子节点,所以继续执行出队操作。A出队,同时检查A是否有子节点,A有子节点F,所以将F入队,同时将F的兄弟节点P入队。得到队列:E、F、P。
接下来再次执行出队操作。E出队,E有子节点C,所以C入队。得到队列:F、P、C。
接下来再次执行出队操作。F出队,F无子节点,继续出队操作,P出队,P仍无子节点,最后C出队,整个过程结束。
通过对算法的详细分析,可以轻松得到答案。空(1)处应是对根节点root执行入队操作,即EnQueue(&tempQ,root)。空(2)处在一个循环当中,循环变量是brotherptr,此变量无语句对其进行更新,所以空(2)处必定是更新brotherptr。结合前面的算法分析可知空(2)处应填入brotherptr=brotherptr->nextbrother。空(3)处和空(4)处加上后面的语句printf(’’%c\t",ptr->data)是控制数据的输出,这些数据应是从队列中得到,所以此处必有出队操作,同时在出队之前应判断队列是否为空, 所以空(3)处和空(4)处应填入!IsEmpty(tempQ)和DeQueue(&tempQ,&ptr)。空(5)处实际上是问:“在什么情况下,要持续进行出队操作?”前面的算法分析中已指出:若出队节点无子节点,则继续进行出队操作,所以空(5)处应填入!ptr->nrstchild。空(6)处和空(7)处所在的语句段的功能是将刚出队节点的子节点及其兄弟节点入队,所以空(6)处应填入EnQueue(&tempQ,ptr->jfirstchild)。空(7)处和空(2)处相同,应填入brotherptr=brotherptr->nextbrother。
转载请注明原文地址:https://www.kaotiyun.com/show/MKDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
认真阅读以下关于PGP软件的使用说明,根据要求回答问题1至问题4。【说明】在Internet网络中,安全认证和保密业务的需求随着通信量、业务种类的增加而增加。广泛应用于Internet网络的E-mail系统的PGP(PrettyGoodPr
阅读以下关于某硬件防火墙相关配置的技术说明,根据要求回答问题1至问题4。【说明】某单位在部署内部局域网时选用了一款硬件防火墙,该防火墙分别带有“WAN”、“LAN”“DMZ”、“FUN”等4个网络接口,支持Web界面、命令行等多种管理模式。该单位
非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。ADSL技术可以充分利用现有铜线网路,只要在用户线路两端加装ADSL设备即可为用户提供服务。ADSL系统构
某公司申请到的IP地址为193.136.99.0,如图7-4所示,为了便于管理,需建立4个子网(要求每个子网的掩码必须相同),请回答如下问题。
阅读以下说明,回答问题1、问题2和问题3,将解答填入对应栏内。[说明]在因特网的发展过程中,WWW(WorldWideWeb)和域名服务系统(DNS)两项技术起了重大的推动作用,在域名服务系统(DNS)出现之前,所有的因特网主机名都存储
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。某商务公司在全国各城市共有15个分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。每个
阅读以下说明然后完成问题1、问题2、问题3、问题4,把答案填入相应的对应栏内。[说明]如图10-1是Cisco1900交换机划分为两个vain拓扑图,把E0/10划分为vlan2,把E0/20划分为vlan3。[*]
请说出图9-1的拓扑结构名称与特点。根据IP地址与子网掩码,请判断它们是否属于同一个网段?如果不是,请说出他们分别属于哪个网段。
随机试题
领导监督方法的种类包括
男性,35岁。乏力、腹胀2个月,腹痛4天,便秘2天。体格检查:体温38.5℃,神清,皮肤巩膜轻度黄染,胸前有一蜘蛛痣,肝掌征(+),肝、脾未扪及,移动性浊音(+)。实验室检查:ALT250U/L,AST130U/L,ALB32g/L,GLB38g/L,TB
粉碎机械的粉碎作用方式有哪些
A.二氧化硅B.二氧化碳C.活性炭D.氯仿E.乙醇常用的脱色剂是()
根据支付结算法律制度的规定,对于出票后定期付款的商业汇票,提示付款期限是()。(2014年)
朝阳行业就是刚刚兴起,正在发展阶段,而且有相当大的发展空间的行业。而夕阳行业则是指行业内竞争非常激烈,已经发展得很完善而且技术水平已相当高,发展上升的空间很小,正在走下坡路的行业。根据上述定义,下列各项属于夕阳行业的一项是()。
中国民营企业家陈光标在四川汶川大地震发生后,率先带着人员和设备赶赴灾区实施民间救援。他曾经说过:“如果你有一杯水,你可以独自享用;如果你有一桶水,你可以存放家中;如果你有一条河流,你就要学会与他人分享。”以下哪项陈述与陈光标的断言发生了最严重的不一致?
基础研究是整个科学体系的源头,是科技强国建设的根基。2018年,我国全社会研究与试验发展(R&D)经费约1.94万亿元,研发人员总量预计418万人,这些资源如果得到合理配置,可以实现更大作为。据《2017年全国科技经费投入统计公报》,2017
Poetryisanartformwhichusesthebeautyandrhythmoflanguagetoproduceemotionsinareader.Asanancientartform,poet
演讲比赛海报说明:以学生会的名义写一份演讲比赛的海报。日期:2019年11月13日内容:学生会主办的第三届英语演讲比赛将在2019年11月17日晚上7点举行,地点在教学楼208室,欢迎大家来观看。
最新回复
(
0
)