首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。 【说明】 函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此
阅读下列函数说明和C代码,将应填入(n) 处的字句写在对应栏内。 【说明】 函数print(BinTreeNode*t; DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此
admin
2009-02-15
79
问题
阅读下列函数说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
某一个PPT文档共有8张幻灯片,现选中第4张幻灯片,改变幻灯片背景设置后,单击“应用”按钮,则______。
数据处理过程中,影响数据精度的因素不包括(10)________________。
为支持各级管理决策,信息处理部门提供的数据不能过于简化,也不能过于繁琐,不要提供大量不相关的数据。这是信息处理的()要求。
下面无助于加强计算机安全的措施是(19)。
Windows系统的控制面板不包括__________功能。
下列关于在Word中文字和表格之间转换的叙述,正确的是(51)。
请认真阅读下列有关代理服务器的说明信息,然后根据要求回答问题1至问题6。【说明】某单位通过电信部门提供的ADSL与Internet相连,并通过代理服务器使内部各计算机终端访问Internet,连接方式如图1-1所示。电信部门分配的公网IP地址为2
阅读以下说明,回答问题1至问题4。【说明】某校园网络拓扑结构如图4-1所示。
ASP是(1)网页制作技术。A.动态B.静态假设连接的数据记录集当前指向的记录如下:写出以下ASP代码经过IIS服务器解释后的结果。<ahref="<%=rs("url")%>"target="_blank"
阅读下列说明,根据网页显示的效果图,回答问题1至问题7。【说明】以下是用ASP实现了一个网络收藏夹网页,用于保存用户感兴趣的Web网页地址。用IE打开网页文件“index.asp”后的效果如图5-1所示。程序中使用的Access数据表结构如表5-1所示。
随机试题
下列是含氯类橡胶防腐涂料通性的是()。
与《资治通鉴》并称为“史学双璧”的作品是()
影响人群对结核病易感性的因素是
A.抗SS-A(Ro)抗体B.抗Sm抗体C.抗DNP抗体D.抗着丝点抗体E.抗PM-1抗体对诊断PM最有意义的是
建筑安装工程税金是指按国家规定应计入建筑安装工程造价的()。
按照规定,下列关于可转换公司债券转股的说法中,错误的是()。Ⅰ.即日买进的可转债当日可申请转股Ⅱ.可转债的转股申报优于买卖申报Ⅲ.可转债持有人申请“债转股”时,须一次将账户内的可转换债券全部转换成发行公司的股票Ⅳ.可转债“债转股”的申报方向
“桃李不言,下自成蹊”这句话体现的德育方法是()
我国《个人所得税法》规定:“劳务报酬所得按次征收”,《个人所得税法实施条例》规定“劳务报酬所得……属于同一项目连续性收入的,以一个月内取得的收入为一次”。这一税法解释属于()。
WhathappenedattheUnitedNations?Howdidthecriticslikethenewplay?Soonafteranevent【C1】______,newspapersar
A、Toaskaboutthejobadvertisedinthenewspaper.B、Toenquireaboutthenewbookcasesadvertised.C、Toaskforinformationon
最新回复
(
0
)