社区
数据结构与算法
帖子详情
非递归的二叉树的遍历
jet8
2005-09-22 07:48:08
若在二叉链表的结点中增加一个双亲域以指示其双亲结点,则在遍历过程中能否不设栈?试以此存储结构编写不设栈进行中序遍历的递推形式的算法。一道题目个人练习,不是作业:)
...全文
253
2
打赏
收藏
非递归的二叉树的遍历
若在二叉链表的结点中增加一个双亲域以指示其双亲结点,则在遍历过程中能否不设栈?试以此存储结构编写不设栈进行中序遍历的递推形式的算法。一道题目个人练习,不是作业:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jp1984
2005-09-22
打赏
举报
回复
可以.
树的遍历分递归和非递归.非递归设栈模拟递归.但是栈空间不可省略.
进一步改进数据结构可得到非堆栈非递归遍历算法.这个过程称为线索二叉树.
http://www.stanford.edu/~blp/avl/
yun_5025
2005-09-22
打赏
举报
回复
Status Inorder_Nonrecursive(BiTree T)
{
BiTree p=T,s;
while(p)
{
s=p;
p=p->lchild;
if(!p)
{
p=s;
cout<<p->data<<"--";
while((p && !p->rchild) || (p && p->rchild && p->rchild==s))
{
s=p;
p=p->parent;
if(p && p->rchild!=s) cout<<p->data<<"--";
if(!p) return OK;
}
p=p->rchild;
}
}
return OK;
}
二叉树
的三种
遍历
非递归
实现
本文详细介绍了
二叉树
的前序、中序和后序
非递归
遍历
算法,通过栈来替代递归操作,实现对
二叉树
节点的有效访问。
详解
二叉树
的
非递归
遍历
本文介绍
二叉树
的
非递归
遍历
方法,包括中序、前序和后序
遍历
的具体实现,重点讲解了如何使用栈来替代递归调用,实现了
遍历
算法。
二叉树
的
非递归
遍历
和层次
遍历
详解
本文详细介绍了如何通过
非递归
方式实现
二叉树
的后序
遍历
、先序
遍历
和层次
遍历
,包括栈的运用和代码示例,适合理解
非递归
遍历
算法的读者。
二叉树
的
非递归
遍历
本文详细介绍了
二叉树
的前序、中序和后序
遍历
方法,包括递归和
非递归
实现方式。
非递归
遍历
利用栈来模拟递归过程,特别是后序
遍历
的
非递归
实现较为复杂,提供了两种不同的解决方案。
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章