首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
试编写出先序、中序和后序遍历的非递归算法。
试编写出先序、中序和后序遍历的非递归算法。
admin
2014-12-25
77
问题
试编写出先序、中序和后序遍历的非递归算法。
选项
答案
(1)先序遍历。 void PreOrderTraverse(BiTree bt) { /*二叉树bt采用二叉链表存储,对其进行先序遍历*/ if(bt) /*二叉树非空*/ {InitStack(S);Push(S,bt); while(!EmptyStack(S)) {while(GetTop(S,p)&&p) /*当栈顶元素非空*/ {visit(p一>data); push(S,P一>ichild); Pop(S,P); if(!EmptyStack(S)) /*若栈非空,使栈顶元素的右孩子人栈*/ {Pop(S,p);Push(S,P一>rchild);) } } } (2)中序遍历。 void InOrderTraverse(BiTree bt) { /*二叉树bt采用二叉链表存储,对其进行中序遍历*/ if(bt) {InitStack(s);Push(s,bt); while(!EmptyStack(S)) {while(GetTop(S,p)&&p) push(S,P一>ichild); Pop(S,P); if(!EmptyStack(S)) {Pop(S,P); visit(p一>data); Push(S,P一>rchild); } } } } (3)后序遍历。 voidFeorder(BiTreebt) { /*后序遍历bt所指的二又树,s为存储二叉树结点指针的栈*/ InitStack(S);Push(S,bt); while(!EmptyStack(S)) {while(GetTop(S,P)) Push(S,P一>ichild); Pop(S,P); if(!EmptyStack(S)) {Push(S,GetTop(S,p)一>rchild); if(GetTop(s,P)==NULL) {Pop(s,P);Pop(s,P); visit(P一>data); while(GetTop(s,q)一>rchild==p&&!EmptyStack(s)) {Pop(s,P); visit(P一>data); } if(!EmptyStack(s)) Push(s,GetTop(s,P)一>rchild); } } } }
解析
将一个递归算法转换成一个非递归算法,利用栈就可消除递归,根据对二叉树进行先序、中序和后序遍历的思想,其非递归算法描述如下。
转载请注明原文地址:https://kaotiyun.com/show/YeVx777K
本试题收录于:
数据结构导论题库理工类分类
0
数据结构导论
理工类
相关试题推荐
已知某单位反馈系统的开环传递函数为G(s)=,当输入信号r(t)=2+4t+t2时,试求系统的稳态误差。
传递函数的量纲是根据________来决定的。
下列属于管理信息库中的结构数据的是【】
在考虑系统的物理配置方案时,系统的________时间是从用户向系统发出一个作业请求开始,经系统处理后,给出应答结果的时间。
在对象联系图中,表示两个属性之间值的联系为逆联系的是()
现要查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的条件表达式应是:SELECTS#,C#FROMSCWHERE()
银行家算法的实质是避免系统进入_______状态。
试根据题34图箭线式网络图的截图,请将题34图绘制在答题卡上,并在各结点的空白处填上正确的结点时间(天)。
在决策树中,小方框为______结点,它引出的分枝称为______分枝。
布雷顿森林体系是以哪种货币为主要国际储备的
随机试题
沙门菌导致食物中毒预后最严重的致病菌是:()
患者女性,34岁,停经56天,阴道点滴出血3天,自测尿HCG阳性,要求终止妊娠。G4P2,两次剖宫产史,分别于10年前和2年前,末次人工流产6个月前。首先应行的检查是
男性,25岁,以“高热、剧烈胸痛、咳嗽3d”入院,查左侧胸部有明显胸腔积液体征,结合有关辅助检查结果,初步诊断为“化脓性胸膜炎、大量胸腔积液”。此患者的面容与表情,可表现为()。
A公司为电冰箱生产和销售企业。2017年第一季度、第二季度分别销售电冰箱5000台、8000台,每台售价为0.4万元。对购买其产品的消费者,A公司作出如下承诺:电冰箱售出后3年内如出现非意外事件造成的电冰箱故障和质量问题,A公司免费负责保修(含零部件更
阅读分析短稿,并按照稿件加工整理的规范进行编辑加工。电影院电影院是为人民放映电影的场所。随着电影的发展——从无声到有声乃至立体声,从黑白片到彩
在许多情况下,管理人员可以采取适当的手段,避免不合适的行为发生,从而达到避免控制的目的。具体的做法有()。
WhichcommandsarerequiredtoproperlyconfigurearoutertoproperlyconfigurearoutertorunOSPFandtoaddnetwork192.168
下列哪个类是Applet进行绘制的关键类?它支持基本绘图,另外还支持图形绘制方法?()
ExercisebeinggoodorbadCanexercisebeabadthing?Suddendeathduringorsoonafterstrenuousexertiononthesquashc
A、Yes,Ido.B、No,Idon’t.C、No,never.C用排除法可以排除前两个回答,因为问句和答句的语法不一致。
最新回复
(
0
)