二叉树非递归遍历
2013-11-29 18:41
113 查看
1、二叉树递归遍历很简单,以前序遍历为例说明:
中序遍历和后序遍历类似。
2、考虑二叉树非递归遍历,思路:前序遍历特点,访问当前节点,然后访问左孩子,左孩子有孩子,继续访问左孩子的左孩子节点,直到没有左孩子,访问右孩子。因此。非递归遍历的思路就是,使用while,记录当前节点,往左一条路走到底,然后原路后退,访问右节点。
void PrefixOrder(Node* node) { if(node!=NULL) { cout<<root->value<<" "; PrefixOrder(root->lchild); PrefixOrder(root->rchild); } }
中序遍历和后序遍历类似。
2、考虑二叉树非递归遍历,思路:前序遍历特点,访问当前节点,然后访问左孩子,左孩子有孩子,继续访问左孩子的左孩子节点,直到没有左孩子,访问右孩子。因此。非递归遍历的思路就是,使用while,记录当前节点,往左一条路走到底,然后原路后退,访问右节点。
相关文章推荐
- 后序非递归遍历二叉树的应用
- 二叉树的建立和递归遍历、非递归遍历操作
- 二叉树之遍历(递归和非递归解法)
- 二叉树非递归后序遍历
- 数据结构二叉树的递归与非递归遍历之java,javascript,php实现可编译(1)java
- 二叉树的遍历(递归与非递归)
- 二叉树前序、中序、后序遍历非递归写法的透彻解析
- C++创建二叉树与遍历(递归与迭代)
- 二叉树与其基本递归操作:创建、遍历、特征量计算等
- 二叉树的后序遍历 递归 非递归
- 第5章 遍历二叉树【递归遍历】
- 二叉树的递归遍历与非递归遍历
- 非递归遍历二叉树
- 数据结构二叉树的递归遍历
- Java实现非递归遍历二叉树
- 二叉树的前 中 后序遍历,递归和非递归实现以及转换成双向链表
- 非递归实现二叉树的层次遍历
- 二叉树的创建和先序,中序,后序,递归,非递归遍历
- 二叉树的遍历 -- 递归和非递归方法
- 二叉树的遍历:前序,中序,后序,层序--包括递归和非递归实现