编写程序实现在二叉树的中序遍历和后续遍历递归和非递归算法。
时间: 2024-05-28 21:15:05 浏览: 94
好的,以下是实现在二叉树中序遍历和后续遍历的递归算法代码:
中序遍历:
void InorderTraversal(BiTree T)
{
if(T)
{
InorderTraversal(T->lchild);
visit(T);
InorderTraversal(T->rchild);
}
}
后序遍历:
void PostorderTraversal(BiTree T)
{
if(T)
{
PostorderTraversal(T->lchild);
PostorderTraversal(T->rchild);
visit(T);
}
}
以下是实现在二叉树中序遍历和后续遍历的非递归算法代码:
中序遍历:
void InorderTraversal(BiTree T)
{
stack s;
while(T || !s.empty())
{
while(T)
{
s.push(T);
T = T->lchild;
}
if(!s.empty())
{
T = s.top();
s.pop();
visit(T);
T = T->rchild;
}
}
}
后序遍历:
void PostorderTraversal(BiTree T)
{
stack s;
BiTree p;
while(T || !s.empty())
{
while(T)
{
s.push(T);
T = T->lchild;
}
if(!s.empty())
{
p = NULL;
T = s.top();
s.pop();
if(T->rchild == p)
{
visit(T);
p = T;
T = NULL;
}
else
{
s.push(T);
T = T->rchild;
}
}
}
}
希望对您有所帮助!
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)