首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。 [说明] 假设二叉树采用链式存储方式存储,编写一个后序遍历二叉树的非递归方式。 Void postorder (btree * B) { btree * stack [m0
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。 [说明] 假设二叉树采用链式存储方式存储,编写一个后序遍历二叉树的非递归方式。 Void postorder (btree * B) { btree * stack [m0
admin
2009-02-15
68
问题
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。
[说明] 假设二叉树采用链式存储方式存储,编写一个后序遍历二叉树的非递归方式。
Void postorder (btree * B)
{
btree * stack [m0] , *p;
int tag [m0], top =0;
p=b;
do
{
while (p! =NULL)
{
top+ +;
(1)
tag [top] =0;
p =p- >left;
}
if (top >0)
{
(2)
if (tag[top3 = =1)
{
(3)
print ("%d", p- >data);
}
if(top>0)
{
(4)
tag [top] = 1;
}
}
} while (p! = NULL && top ! =0)
}
选项
答案
(1) stack [top]=p; (2) p=stack [top]; (3) top--; (4) p=p->right;
解析
根据后序遍历二叉树的递归定义,转换成非递归函数时采用一个栈保存返回的结点,先扫描根结点的所有左结点并入栈,出栈一个结点,然后扫描该结点的右结点并入栈,再扫描该右结点的所有左结点并入栈,当一个结点的左右子树均访问后再访问该结点,如此这样,直到栈空为止。在访问根结点的右子树后,当指针p指向右子树树根时,必须记下根结点的位置,以便在遍历右子树之后正确返回。这里采用两个栈stack 和tag,并用一个共同的栈顶指针,并用一个共同的栈顶指针,一个存放指针值,一个存放左右子树标志(0为左子树,1为右子树)。退栈时在退出结点指针的同时去判断是遍历左子树返回的还是遍历右子树返回的,以决定下一步是继续遍历右子树还是访问根结点。
转载请注明原文地址:https://www.kaotiyun.com/show/XrDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
若有关系R(A,B,C,D,E)和S(B,C,F,G),则R与S自然联结运算后的属性列有(17)个,与表达式π1,3,6,7(σ3<6(RS))等价的SQL语句如下:SELECT(18)FROM(19)WHERE(20); (1
给定关系模式R(A,B,C,D)、S(C,D,E),与π1,3,5等价的SQL语句如下:SELECT(22)FROMR,sWHERE(23);下列查询B=“信息”且E=“北京”的A、B、E的关系代数表达式中,查询效率
在项目初始阶段,软件开发首先需要()。
函数f()、g()的定义如下所示,已知调用f时传递给其形参x的值是10,若以传值方式调用g,则函数f的返回值为__________。
以下关于用例图的叙述中,不正确的是(44)。图书馆管理系统需求中包含“还书”用例和“到书通知”用例,对于“还书”用例,应先查询该书是否有人预定,若有则执行“到书通知”。“还书”用例和“到书通知”用例是(45)关系,以下用例图中,(46)是正确的。管理员处
在结构化分析中,用数据流图描述(42)。当采用数据流图对银行客户关系管理进行分析时,(43)是一个加工。(43)
模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为(38)内聚。以下关于该类内聚的叙述中,正确的是(39)。(39)
以下所示程序控制流程图中有(59)条线性无关的基本路径。
在面向对象技术中,(43)是一组具有相同结构、相同服务、共同关系和共同语义的(44)集合,其定义包括名称、属性和操作。(44)
随机试题
截肢的病人可能对自身身体结构感到丧失,按照丧失的内容划分属于()
“祸起萧墙”、“望洋兴叹”、“日薄西山”三个成语依次出自【】
补气药中的一味清补之品是
含有挥发油、脂肪油及有机酸的药材是
根据经纪活动的方式,可以将房地产经纪活动分为()。
下列有关部门预算管理职权的表述中,不正确的有()。
某区举行小学数学竞赛,结果不低于80分的人数比80分以下的人数的4倍还多2人;及格的人数比不低于80分的人数多22人,恰是不及格人数的6倍。共有多少人参赛?
采用HTML创建一个E-mail地址的链接,下面正确的语法是(42)。
ForgetMaryPoppins—aninetiesnanny(保姆)ismorelikelytoresembleMartinSmith,who,at22,isoneofthenewbreedofBritish
Americansthisyearwillswallow15000tonsofaspirin(阿斯匹林),oneofthesafestand【C1】______drugs【C2】______bymap.Themostpop
最新回复
(
0
)