您的位置:首页 > 其它

二叉树非递归遍历

2013-11-29 18:41 113 查看
1、二叉树递归遍历很简单,以前序遍历为例说明:

void PrefixOrder(Node* node)
{
if(node!=NULL)
{
cout<<root->value<<" ";
PrefixOrder(root->lchild);
PrefixOrder(root->rchild);
}
}


  中序遍历和后序遍历类似。

2、考虑二叉树非递归遍历,思路:前序遍历特点,访问当前节点,然后访问左孩子,左孩子有孩子,继续访问左孩子的左孩子节点,直到没有左孩子,访问右孩子。因此。非递归遍历的思路就是,使用while,记录当前节点,往左一条路走到底,然后原路后退,访问右节点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: