首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。 【说明】 函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此
阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。 【说明】 函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此
admin
2009-02-15
62
问题
阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。
【说明】
函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。
【函数】
void print( BinTreeNode * t; DateType &x) {
stack ST; int i, top; top = 0;//置空栈
while(t! = NULL &&t-> data!= x || top!=0)
{ while(t!= NULL && t-> data!=x)
{
/*寻找值为x的结点*/
(1);
ST[top]. ptr = t;
ST[top]. tag = 0;
(2);
}
if(t!= Null && t -> data == x) { /*找到值为x的结点*/
for(i=1;(3);i ++)
printf("%d" ,ST[top]. ptr ->data);
else {
while((4))
top--;
if(top>0)
{
ST[top]. tag = 1;
(5);
}
}
}
选项
答案
(1)top++ (2)t=t->leftChild (3)i=top (4)top>0 && ST[top].tag=1 (5)t=ST[top].ptr->rightChild
解析
这个程序是一个典型二叉树后序遍历非递归算法的应用。算法的实现思路是:先扫描根结点的所有左结点并入栈;当找到一个结点的值为x,则输入出栈里存放的数据,这些数据就是该结点所有祖先结点;然后判断栈顶元素的右子树是否已经被后序遍历过,如果是,或者右子树为空,将栈顶元素退栈,该子树已经全部后序遍历过;如果不是,则对栈顶结点的右子树进行后序遍历,此时应把栈顶结点的右子树的相结点放入栈中。再重复上述过程,直至遍历过树中所有结点。
(1)、(2)空年在循环就是扫描根结点的所有左结点并入栈,根据程序中的栈的定义,栈空时top=0,因此在入栈时,先将栈顶指针加1,因此(1)空处应填写“top++”或其等价形式,(2)空是取当前结点的左子树的根结点,因此应填写“t=t->leftChild”。
(3)空所在循环是处理找到值为x的结点,那么该结点的所有祖先结点都存放在栈中,栈中的栈底是二叉树的根,而栈顶元素是该结点的父结点,因此,(3)空处应填写“i=top”。
(4)空所在循环是判断栈顶元素的右子树是否已经被后序遍历过,如果是,或者右子树为空,将栈顶元素退栈,这里要填写判断条件。 tag=0表示左子树,tag=1表示右子树,因此,(4)空处应填写“top> 0&&ST [top].tag=1”。
(5)空所在语句块是处理栈顶元素的右子树没有被后序遍历情况,则将右子树入栈,因此(5)空处应填写“t=ST[top].ptr->rightChild”。
转载请注明原文地址:https://kaotiyun.com/show/NbjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
计算机处理的数字数据有数值数据和字符数据之分。对信息处理技术员来说,它们的主要区别是______。
在Word(38)________________模式下,随着输入新的文字,后面原有的文字将会被覆盖。
在Word2007的编辑状态下,可以同时显示水平标尺和垂直标尺的视图模式是(37)________________。
数据________________是将数据以图形图像形式表示,并利用数据分析工具发现其中未知信息的处理过程。
在Excel2010中,A1和B1单元格中的值分别为“12”和“34”,在C1中输入公式“=A1&)。??B1”,按回车键后,则C1中的值为(
某企业去年四次核查的钢材库存量情况如下表:用加权平均法计算出该企业去年钢材平均库存量为()吨(中间各次核查数据的权都取1,首次与末次核查数据的权都取0.5)。
关于在Word中选定文本的叙述,正确的是(43)。
计算机使用一段时间后发现,系统启动时间变长,系统响应迟钝,应用程序运行缓慢,为此,需要进行系统优化。系统优化工作不包括___________。
在Excel中,区域A1:B2中各单元格的值都为4,区域C2:E2中各单元格的值分别为5、6、8,在P1单元格中输入公式“=AVERAGE(A1:B2,C2:E2)”,则F1单元格中显示的值为(59)。
框架在网页布局中主要起什么作用?主页中定义了几个框架,分别显示哪个文档?假设连接的数据记录集当前指向的记录如下:写出以下ASP代码经过IIS服务器解释后的结果。<tdalign-"center"width="20%"><ahref
随机试题
A.高热惊厥B.中枢神经系统感染C.低血糖症D.屏气发作E.癫痫女,2岁,突然四肢阵挛,两眼上翻,意识丧失,持续约3分钟,体温39.5℃,巴氏征(-),布氏征(-)。可能的诊断是
某县从事母婴保健工作的医师胡某,违反母婴保健法规定,出具有关虚假医学证明而且情节严重。该县卫生局应依法给予胡某的处理是
A.酒精B.幽门螺杆菌感染C.严重烧伤D.中枢神经系统严重损伤E.非类固醇消炎药Curling溃疡的病因是()
假设你是F公司的财务顾问。该公司是目前国内最大的家电生产企业,已经在上海证券交易所上市多年。该公司正在考虑在北京建立一个工厂,生产某一新型产品,公司管理层要求你为其进行项目评价。F公司在2年前曾在北京以500万元购买了一块土地,原打算建立北方区配送
课程与教学内容组织的最基本标准包括()。(2014·河北)
某公司招来一批实习生,其中有三名男生,高原、郭建和李涛;五名女生,晓静、李爽、刘丽、宋莹和王芳。经过三个月的考核,公司有五个转正名额,准备从三名男生中选出两名,从五名女生中选出三名来转正。有如下要求: (1)高原和晓静只有一人转正。
下列有关法律、法规授权组织法律地位的论述,正确的有哪些?()
TheeconomyintheUnitedStatesisheavilydependentonaluminum,amaterialwidelyusedintheconstructionofbuildingsandi
在当前目录下有数据库文件xsdak,数据库中有表文件stu.dbf,执行如下SQL语句后 SELECT*FORMstudentINTODBFxsdakORDERBY学号
TheInternetconnectionfortheentirearea______whentherewasasuddenpowercutyesterday.
最新回复
(
0
)