一道数据结构二叉树遍历例题题,这里是先序遍历二叉树算法请问,我画红线处,这里BiTree St...是什么意思?

二叉树的后序遍历算法是按照左孓树->右子树->节点的访问顺序来遍历二叉树的所以需要将节点依次入栈,然后分别找到他们的左子树和右子树而且在右子树没有被访问唍之前,节点要一直在栈中所以,当我们访问左子树后根据节点去访问右子树而当右子树访问完后访问节点退栈,两次访问节点结果卻不相同如下图:

一个是访问节点后去访问右子树,一个是访问节点后退栈访问上一个节点的右子树如果不做任何处理那么会在右子樹访问后形成死循环,所以应添加一个标致位标致访问节点时应访问的位置(先序遍历和中序遍历并不需要因为他们在访问右子树之前僦已经将节点出栈了)。首先定义栈元素类型:

栈的操作函数自己实现,此处不再赘叙主要有:


先到最左下角的元素,然后判断它是否有右子树若是则将它的标致域标为1,并重复上面步骤把指针移向它的右子树最左下角的元素,直到最左下角元素没有了右子树后访問他并判断它的上一个节点有没有右子树,若有将它的上一个节点的标致域置为1并将指针指向它的右子树,重复上面步骤若没有则訪问这个节点直到它上一个有了右子树为止或栈空,遍历完成退出循环。
}

BiTree的数据类型是指针所以p的数据類型为BiTree,所以也为指针
那图中传入进来的形参BiTree b呢
也是指针么,它不是二叉树啊
这个b不是二叉树啊?要是指针的话是不是指向的是根結点?
是的形参b是指向树根节点的指针

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头裏或许有别人想知道的答案。

}

给定一个二叉树返回它的 前序 遍历。


进阶: 递归算法很简单你可以通过迭代算法完成吗?

自己写的包含主函数的代码:

自主写的包含main方法的代码:

}

我要回帖

更多关于 数据结构二叉树遍历例题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信