非递归遍历 二叉树 前序 中序 后序 通用模板
2014-12-17 19:09
267 查看
stack<TreeNode*> nodes; stack<bool> states; LEFT: if(root) { // pre order nodes.push(root); states.push(true); root=root->left; goto LEFT; } else { PEEK: if( nodes.empty() ) return; root=nodes.top(); bool state=states.top(); if (state) { // in order states.top()=false; root=root->right; goto LEFT; } else { // post order nodes.pop(); states.pop(); goto PEEK; } }
void Traversal(TreeNode*root) { if(root) { // pre order Traversal(root->left); // in order Traversal(root->right); // post order } }
相关文章推荐
- 【二叉树】非递归遍历的通用算法:前序、中序和后序
- 二叉树的遍历;前序 中序 后序遍历二叉树;递归 非递归实现; 重建二叉树;编程之美重建二叉树
- 二叉树的前序、中序、后序遍历,非递归前、中、后序遍历
- 二叉树的前序,中序,后序遍历。用递归和非递归实现
- 二叉树的前序、中序、后序遍历 递归非递归实现
- 数据结构-二叉树的前序、中序、后序遍历的递归和非递归实现
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构(一)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树的中序,前序,后序非递归遍历
- 二叉树前序、中序、后序遍历非递归写法的透彻解析
- Java实现二叉树的前序、中序、后序、层序遍历(递归方法)
- 利用先序和中序非递归恢复二叉树,并后序遍历输出
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 二叉树的创建和先序,中序,后序,递归,非递归遍历
- 二叉树的遍历(先序/中序/后序,递归/迭代)与搜索
- 二叉树的前中后层次遍历(递归+非递归)、创建树(数组、前序+中序、中序加后序)
- 二叉树先序、中序、后序遍历的非递归实现,纯c代码
- 二叉树前序、中序、后序遍历非递归写法的透彻解析
- 二叉树前序、中序、后序遍历非递归写法的透彻解析