首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
试编写出先序、中序和后序遍历的非递归算法。
试编写出先序、中序和后序遍历的非递归算法。
admin
2014-12-25
46
问题
试编写出先序、中序和后序遍历的非递归算法。
选项
答案
(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://jikaoti.com/ti/puLaFFFM
本试题收录于:
数据结构导论题库理工类分类
0
数据结构导论
理工类
相关试题推荐
以太网中采用______作为介质控制访问方法。
MD5算法可以对任意长的报文进行运算,得出固定长度为【】位的报文摘要。
在OSI参考模型中,属于结点到结点层的是【】
在E-R图中,椭圆框表示的是()
数据库的实施是根据数据库逻辑设计和______设计的结果。
某电力集团业务系统中电费缴纳部分的模块结构图如题42图所示。其中未填充的6个模块名如下:A.输入客户编号B.通知缴费结果C.缴费D.获取缴费金额E.查询本月缴费金额F.打印缴费单模块之间未标明的数据流如下:G.客户编号H.缴费金额K.缴
设有两个关系模式:职工(职工号,姓名,性别,年龄,职务,工资,部门号)部门(部门号,部门名称,经理名,地址,电话)依据上述关系回答下面小题。用关系代数表达式写出下列查询:检索“采购部”女职工的职工号和姓名。
有一个多道程序设计系统,采用不允许移动的可变分区方式管理主存中的用户空间,设用户空间为100KB,主存空间的分配算法为最先适应分配算法,作业调度和进程调度均采用先来先服务算法,作业序列为:请计算以上5个作业的平均周转时间。(注:作业是依次进入输入井的,
若用后根遍历法遍历图C-2所示的二叉树,其输出序列为_______。
随机试题
在卧式铣床上用盘形齿轮铣刀铣削齿轮的方法称为展成法。()
生产全球化
胃肠道手术的病人,术前多久开始禁食:
好的固位体应具备
组成多聚核苷酸的骨架成分是
勘察过程的监理,主要任务是勘察过程的()和质量控制。
如果一个大型工程项目在签订施工承包合同后,设计资料的深度和其他条件还不足以编制比较具体的施工总进度计划时,则可先编制()。
当工作遇到挫折时,刘老师总是能够乐观、豁达地面对。这表明刘老师具备()。
根据下列资料,回答下列问题。已知2010年限额以上企业零售额增幅为27.4%,限额以下企业零售额增幅为12.8%,那么2009年限额以上企业和限额以下企业零售额差值与2010年差值相比()。
近视与阅读的复杂关系近视是一种颇为神秘的现象,科学家们还不能确切地说出造成近视的原因。有关的遗传学研究表明,在近视比较严重的家族里,近视确实能够遗传,可是谁都搞不清
最新回复
(
0
)