用堆栈实现二叉树的前序遍历/中序遍历/后序遍历的非递归算法
用堆栈实现二叉树的前序遍历/中序遍历/后序遍历的非递归算法算法思想中序遍历前序遍历后续遍历算法思想借助堆栈实现前序遍历、中序遍历非递归程序的本质是利用堆栈模拟递归函数调用时的入栈和出栈过程。而前序遍历、中序遍历和后序遍历在递归函数执行时,结点(作为函数参数)的入栈和出栈过程是完全一样的。前序遍历是在结点入栈时输出结点信息,然后开始分别对该结点左右子树的遍历;而在中序遍历中,结点出栈时表明刚完成对该结点左子树的遍历,此时可输出该结点信息。后序遍历必须在左右子树均输出的情况下才能输出该结点。
原创
2020-08-16 15:35:04 ·
1691 阅读 ·
0 评论