首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 已知一棵二叉树用二叉链表存储,t指向根结点,p指向树中任一结点。下列算法为输出从t到P之间路径上的结点。 [C程序] #define Maxsiz
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 已知一棵二叉树用二叉链表存储,t指向根结点,p指向树中任一结点。下列算法为输出从t到P之间路径上的结点。 [C程序] #define Maxsiz
admin
2010-12-16
90
问题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
已知一棵二叉树用二叉链表存储,t指向根结点,p指向树中任一结点。下列算法为输出从t到P之间路径上的结点。
[C程序]
#define Maxsize 1000
typedef struct node{
TelemType data;
struct node*1child,*rchild;
}BiNode,*BiTree;
void Path(BiTree t,BiNode*P)
{ BiTree*stack[Maxsize],*stackl[Maxsize],*q;
int tag[Maxsize],top=0,topl;
q=t;
/*通过先序遍历发现P*/
do(while(q!=NULL && q!=p)
/*扫描左孩子,且相应的结点不为P*/
{ (1);
stack[top]=q;
tag[top]=0;
(2);
}
if(top>0)
{ if(stack[top]==P) break; /*找到P,栈底到栈顶为t到P*/
if(tag[top]==1)top--;
else{q=stack[top];
q=q->rchild;
tag[top]=1;
}
}
} (3);
top--; topl=0;
while(top>0){
q=stack[top]; /*反向打印准备*/
topl++;
(4);
top--;
}
while((5)){ /*打印栈的内容*/
q=stackl[topl];
printf(q->data);
topl--;
}
}
选项
答案
(1) top++ (2) q=q->1child (3) while(top>0) (4) stackl[top1]=q (5) top1>0
解析
本题本质上是对二叉树的先序遍历进行考核,但不是简单地进行先序遍历,而是仅遍历从根结点到给定的结点p为止。本题采用非递归算法来实现,其主要思想是:①初始化栈:②根结点进栈,栈不空则循环执行以下步骤直到发现结点p;③当前结点不为空且不为P进栈;④栈顶为p,则结束,否则转③;⑤若右子树访问过,则栈顶的右孩子为当前结点,转③。
扫描左孩子,当相应的结点不为P时进栈,所以(1)填“top++”,(2)填“q=q->1child”。在栈不为空时则一直在do while循环中查找,因此(3)填“while(top>0)”。在进行反向打印准备时,读取stack[top]的信息放到stackl[top]中,即(4)填“stackl[top1]=q”。打印栈中所有内容,所以(5)填“top1>0”。
转载请注明原文地址:https://kaotiyun.com/show/I6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
软件发生故障后,往往通过重新配置、重新安装或重启电脑后可以排除故障。软件故障的这一特点称为()。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
小王在Excel中录入某企业各部门的生产经营数据,录入完成后发现报表略超一页,为在一页中完整打印,以下______做法正确。
()不属于信息污染。
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入计算众数的函数“=MODE(A1:E6)”,按回车键后,则.A7单元格显示的值为(47)。
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。65
(1)是固化在主板ROM内的程序,为计算机提供最底层、最直接的硬件访问和控制。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
在计算机网络的数据通信中广泛使用的校验方式是(15)。
随机试题
与上级领导的关系紧张突发自然灾害
关于慢性支气管炎病因的描述不正确的是
甲公司欠乙公司货款900万元不能偿还,乙公司几次催要,甲公司均以无财产可供偿还为由拒绝偿还。后乙公司得知丙公司欠甲公司1000万元,且因甲公司一直不催要,该债权诉讼时效期间即将届满。乙公司遂欲行使代位权。以下对于乙公司行使代位权说法不正确的是:()
《安全生产法》规定,从业人员发现事故隐患或者其他不安全因素,应当()向现场安全生产管理人员或者本单位负责人报告;接到报告的人员应当及时予以处理。
只有( )才能将债权债务一并转移。
下列各项中,可以免征个人所得税的有()。
在经济学中,下列关于“商品”的说法正确的是()。
邓小平指出:“没有民主就没有社会主义,就没有社会主义的现代化。”这个论断指出了()。
下列关于栈的叙述中,正确的是
打开工作簿文件EXCEL.xlsx,将工作表sheet1的A1:Dl单元格合并为一个单元格,内容水平居中;计算“销售额”列的内容(销售额=销售数量*单价),将工作表命名为“图书销售情况表”。
最新回复
(
0
)