当前位置:知之问问>百科问答>二叉树非递归遍历算法c语言父突沿又算

二叉树非递归遍历算法c语言父突沿又算

2024-09-24 10:08:25 编辑:join 浏览量:556

问题补充说明:看了好几遍网上的没看懂,书上也没看懂,光知道用栈,但不知道到底咋用啊?高手说一下思想,再给个算法看看!一头雾水...... 是不是一定要先用递归生成二叉树啊?才可以模拟出栈,从而实现非递归的方法!

二叉树非递归遍历算法c语言父突沿又算

给你个离散数学中的算法:

先序:

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
热门文章