首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
试编写出先序、中序和后序遍历的非递归算法。
试编写出先序、中序和后序遍历的非递归算法。
admin
2014-12-25
95
问题
试编写出先序、中序和后序遍历的非递归算法。
选项
答案
(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://www.kaotiyun.com/show/YeVx777K
本试题收录于:
数据结构导论题库理工类分类
0
数据结构导论
理工类
相关试题推荐
下列串联校正装置的传递函数中,能在频率ωc=4处提供最大相位超前角的是【】
在系统的输出表达式中,与初始条件有关的部分称为系统的补函数,与________有关的部分称为系统的特解函数。
下面给出的是一份不完整的HTML又档,请根据HTML的基本语法规则补充填写①、②、③、④处所缺少的标记,并简要解释该文档中的标记<Ahref’’F:/file1.htm1’’>昆明湖</A>的组成及作用。<①><②><TITLE>颐和园
面向连接服务包括建立连接、传输数据和________三个阶段。
实现逻辑隔离的主要方法是_______。
在E-R图中,椭圆框表示的是()
在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,此时称事务达到了________的要求。
关于最高优先级调度算法,下列说法正确的有
在网络技术中,以结点代表活动,以箭线表示活动之间的先后承接的关系,这种图称之为()
二叉树的先序序列和中序序列相同的条件是_______。
随机试题
材料:新学期,班主任李老师接了一个新班。李老师第一天走进教室,发现卫生状况非常差,桌仰椅翻,污物满地。看到这种情景,李老师一声不吭地拿起扫帚把地面打扫干净,然后把桌椅重新摆好,一切都收拾好了,才请同学们进教室上课。坐在老师亲手打扫过的教室里,全班
决策遵循的是_________原则,而不是最优原则。
在Word2010中建立的文档文件中,不能用Windows的记事本打开,这是因为________。
A.泰勒双芽焦虫B.绦虫C.腕前黏液囊炎D.风湿病E.髌骨上方脱位发病突然、疼痛具有对称性和游走性的疾病是
正确把握玩忽职守罪的刑罚。
对规模较小的机场,高杆灯和机位标记牌的控制应直接接入()中。
PVC(聚氯乙烯),多用以制造()
某企业2006年销售收入10亿元人民币,销售净利率为14%,2006年初所有者权益为39亿元人民币,2006年末所有者权益为45亿元人民币,则该企业2006年净资产收益率为()。
在投资中心的主要考核指标中,可以促使经理人员关注营业资产运用效率,而且有利于资产存量的调整,优化资源配置的是()。
由于要进行大型科学计算、信息处理、多媒体数据服务与视频服务,广域网需要能提供很高的带宽。同时,计算机的数据传输又具有“突发性”的特点,因此可能带来通信子网暂时的与局部的______现象。
最新回复
(
0
)