首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩
admin
2010-01-15
60
问题
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩子时为止,该结点即为此二叉树的“最左下”结点。例如:图13-26所示的以A为根的二叉树的“最左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。
二叉树的结点类型定义如下:
typedef struct BSTNode{
int data;
struct BSTNode * lch,* rch;//结点的左、右孩子指针
} * BSTree;
代码13-7中,函数BSTree Find_Del(BSTreeroot)的功能是:若root指向一棵二茶树的根结点,则找出该结点的右子树上的“最左下”结点*p,并从树中删除以*p为根
的子树,函数返回被删除子树的根结点指针;若该树根的右子树上不存在“最左下”结点,则返回空指针。
【代码13-7】
BSTree Find_Del(BSTree root)
{
BSTree p,pre;
If(! root) / * root指向的二叉树为空树*/
return NULL;
(1); / * 令p指向根结点的右子树*/
if( ! p)
return NULL;
(2); / * 设置pre的初值*/
while(p->lch) {/ * 查找“最左下”结点*/
pre=p;
p=(3);
}
if((4)==root) / * root的右子树根为“最左下”结点*/
pre->rch=NULL;
else
(5)=NULL;/ * 删除以“最左下”结点为根的子树*/
return p;
}
选项
答案
(1)p=root->rch (2)pre=root (3)p->lch (4)pre (5)pre->lch
解析
此题是一个关于二叉树操作的问题,首先来分析一下题目中对函数功能的描述。
BSTree Find_Del(BSTree root)功能是找出输入的二叉树的右子树上的“最左下”结点,删除以这个结点为根的子树并返回此结点的指针,如果二叉树的右子树不存在“最左下”结点,则返回空指针。
从(1)空所在的注释可知该空要填写的语句的功能是令指针p指向根结点的右子树,从二叉树的结点类型定义可知右孩子的指针为* rch,则第(1)空应该为:p=root->rch。
接着看下面这段代码:
if(!p)
return NULL;
(2); / * 设置pre的初值*/
while(p->lch){/ * 查找“最左下”结点*/
pre=p;
p=(3);
}
从注释可知这个循环的功能是查找二叉树根结点的右子树的“最左下”结点,从函数的返回指针为p可知,第(3)空的指针p应该总是指向左结点的,循环的目的是层层深入,而 pre指针则是p的前趋结点,在删除“最左下”结点时,pre将起到重要作用,所以第(2)空 pre指针的初值应该为二叉树的根结点:pre=root,第(3)空应该为:p->lch。
从第(4)空后面的注释可知if语句是用来判断循环后所求的“最左下”结点是不是存在,如果存在则删除这个以“最左下”结点为根的树,从而得出空(4)和空(5)应该为:pre和 pre->lch。
综上所述,关注程序的注释是非常重要的,它对解题提供了许多有用的信息。
转载请注明原文地址:https://www.kaotiyun.com/show/IcDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在计算机系统中总线宽度分为地址总线宽度和数据总线宽度。若计算机中地址总线的宽度为32位,则最多允许直接访问主存储器_____的物理空间。
在分层体系结构中,(41)实现与实体对象相关的业务逻辑。在基于Java,EE技术开发的软件系统中,常用(42)技术来实现该层。(42)
在结构化分析方法中,数据流图描述数据在系统中如何被传送或变换,反映系统必须完成的逻辑功能,用于(38)建模。在绘制数据流图时,(39)。(39)
在各种不同的软件需求中,(36)描述了用户使用产品必须要完成的任务,可以用UML建模语言的(37)表示。(36)
编写测试计划的目的是______。①测试工作顺利进行②使项目参与人员沟通更舒畅③使测试工作更加系统化④软件过程规范化的要求⑤控制软件质量
对高级语言源程序进行编译时,可发现源程序中的(21)错误。
CPU中的数据总线宽度会影响(4)。
在IPv4向IPv6的过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用(27);如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用(28)。(27)
假设系统有n(n≥6)个并发进程共享资源R,且资源R的可用数为3。若采用PV操作,则相应的信号量S的取值范围应为________________。
随机试题
主要用于低价位信息产品的网上支付模式是()
电子商务
实践作为检验真理的标准,既是确定的又是不确定的,其不确定性是因为【】
某兽药企业擅自销售被查封的兽药,对该违法行为应当给予的行政处罚是
依据《药品流通监督管理办法》,药品零售企业销售药品时开具销售凭证的内容至少应包含()。
鼻旁窦包括哪四对,各位于何处,开口于什么地方?
市区内某大型商贸公司为增值税一般纳税人,兼营商品加工、批发、零售和进出口业务,2017年12月发生以下经营业务:(1)进口高尔夫球一批,关税完税价格855万元,关税17l万元,进口消费税114万元;支付海关地运往商贸公司的不含税运输费用2万元,取得增值税
近几十年来,在专注经济建设的同时,以往可以身心_______的乡土中国,正在日益生成一种突出消费的物化社会,人人疲于奔命,人人感到孤独,大量的精英外流造成乡土的_______,而日益严重的生态破坏,则在为一小部分人生产利益的同时,葬送了大多数人的长远利益。
Note:whenmorethanoneanswerisrequired,thesemaybegiveninanyorder.Somechoicesmayberequiredmorethanonce.
•Readthistextaboutinformation-orientedsociety.•Choosethebestsentencefromtheoppositepagetofilleachofthegaps.•
最新回复
(
0
)