2 qq 33286911 qq_33286911 于 2016.02.03 18:01 提问

数据结构关于二叉树遍历的一道题 在线等~

利用栈的基本操作写出先序遍历二叉树的非递归算法
要求进栈的元素最少,

并指出下列二叉树中需进栈的元素。

图片说明

这是答案:

图片说明

根据上述代码,

(1)左子树lchild不需要入栈吗?

(2)入栈顺序是什么?

(3)最后一行代码 if (top>0) bt=s[top--] 是什么意思?

(4)如果是中序或后序,入栈顺序又是什么?

谢谢大神们啦~~ O(∩_∩)O

2个回答

caozhy
caozhy   Ds   Rxr 2016.02.03 18:12
已采纳

3
if (top>0) bt=s[top--]
出栈。取出top位置的元素,并且堆栈往后收缩一个。
4
中序需要将父节点入栈
后序不需要堆栈

caozhy
caozhy   Ds   Rxr 2016.02.03 18:09

(1)不需要,因为它永远是最先访问,相当于入栈后立刻就弹出了。所以不需要
(2)需要将当前节点两个子节点入栈,每次出栈的时候再压入它的子节点。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
一道关于比特币的考题
今天坐地铁一路看上一篇转的《我们正处在区块链行业历史的前三分钟,这个时代意味着什么》,受到不少启发,也引发了一些思考。 一道考题 刚刚过去的这个周六,在职研的“经济统计研究”随堂考试,正好有一道题跟数字货币有关。先说说这门课,两天的时间(其实是一天半)老师讲了几个大主题,包括GDP、失业、国际收支平衡表、财政收入和支出等。第一节课是边看《linux口袋书》边听,第二节课觉得虽然不太感兴趣,但是...
数据结构——树的遍历相关笔试题
一颗二叉树的先序遍历:ABDECFG;中序遍历:DBEAFCG;后序遍历:DEBFGCA。对于二叉树的遍历在之前的博客中有介绍: http://blog.csdn.net/Su_coding/article/details/701844191.根据先序和中序遍历写出后序遍历:思路: 根据先序遍历可知根节点为A; 根据中序遍历可知DBE为A的左子树,FCG为A的右子树; 递归实现,把DBE当作一颗新
C语言 每天做一道编程题
好久没做编程题了,算法和数据结构该忘的也都忘干净了,今天开始至少每天做道题,然后写写tips吧,各种都可以。 3.13 写了两道简单的PAT:3n+1(卡拉兹猜想)和将数字转换成拼音       主要是体会一下输入字符串的三种方式:       scanf("%s",s);//s是数组名,或者是指针。       gets(s);//可以包括空格,而scanf不可以包括空格      
树的遍历及相关题目
1.结构定义public class BinaryTreeNode { char val; BinaryTreeNode left; BinaryTreeNode right; BinaryTreeNode(char val) { this.val = val; } }2. 前序遍历
【华为练习题】二叉树遍历
【华为练习题】二叉树遍历题目二叉树遍历 描述: 二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确
团体程序设计天梯赛 多项式A除以B
题意 这仍然是一道关于A/B的题,只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数。输入格式:输入分两行,每行给出一个非零多项式,先给出A,再给出B。每行的格式如下:N e[1] c[1] … e[N] c[N]其中N是该多项式非零项的个数,e[i]是第i个非零项的指数,c[i] 是第i个非零项的系数。各项按照指数递减的顺序给出,保证所有指数是各不相同
每天一道编程题(1)
现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。 输入描述: 一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000) 输出描述: 输出一个整数,表示答案 输入例子: 2 0 0 0 4 输
gplt 团体程序设计天梯赛 多项式A除以B(模拟)
5-10 多项式A除以B   (25分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数。 输入格式: 输入分两行,每行给出一个非零多项式,先给出A,再给出B。每行的格式如下: N e[1] c[1] ... e[N] c[N] 其中N是该多项式非零项的个数,e[i]是第i个非零项的指数,c
二叉树的三种遍历练习题
一 二叉树的基础问题
二叉树大总结1_二叉树的各种题(遍历、查找)
二叉树大总结1_二叉树的各种题(遍历、查找等),是网上一个不错的学习例子。