问题补充说明:看了好几遍网上的没看懂,书上也没看懂,光知道用栈,但不知道到底咋用啊?高手说一下思想,再给个算法看看!一头雾水...... 是不是一定要先用递归生成二叉树啊?才可以模拟出栈,从而实现非递归的方法!
给你个离散数学中的算法:
先序:
1.将根节点放入栈中
2.while栈不空
do
3.从栈中取出一个节点,并visit
4.将这个节点右孩子,左孩子(如果存在)分别放入栈中
endwhile
中序:
1待天言.将根节点放入栈中
2.while栈不空
do
3.从田略栈中取出一个节点
4.if节点被标记
5.thenvisit该节点并将右孩子放入栈(如果存在)
else
6.将该节点标记并入栈
7.将该节点的左孩子入栈(如果存在)
endif
endwhil来自e
后序:
1.将根节点放入栈中
2.while栈不空
do
3.从栈顶取一节点
4.if节点被标记
5.thenvisit该节点
else
6.将该节点标记并入栈
7.将该节点的右孩略前族子,左孩子分别入栈(如果存在)
endif
endwhile
标签:二叉树,父突,遍历
版权声明:文章由 知之问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhzhwenwen.com/answer/347289.html