二叉树的递归和迭代遍历方式
1|0遍历二叉树的方法合集
2|0递归法
递归法的重点是明确递归的结果,考虑本次递归会产生什么
2|1前序遍历
2|2中序遍历
2|3后序遍历
3|0非递归法
非递归法就是模拟栈的运行,让你对栈的执行过程更加清楚
3|1前序遍历
前序遍历是根左右,这是出栈顺序
3|2中序遍历
前序遍历是左根右,这是出栈顺序
先将所有的左节点压入栈中,直到没有左节点,弹出栈顶,然后把弹出栈顶的右节点加入栈中
3|3后序遍历
法1:
后序遍历左右根是 根右左的倒序,所以将根右左的遍历顺序倒序即可
根节点入栈,加入左节点,加入右节点
法2:
- 用一个指针cur标记当前退出的节点是什么。
- 后序遍历的过程中在遍历完左子树跟右子树cur都会回到根结点。所以当前不管是从左子树是右子树回到根结点
- 都不应该再操作了,应该退回上层。
- 如果是从右边再返回根结点,应该回到上层。
4|0总结
4|1前序遍历思路
4|2中序遍历思路
4|3后序遍历思路
法1:
法2:
__EOF__

本文作者:程序员小宇
本文链接:https://www.cnblogs.com/treasury/p/12826020.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/treasury/p/12826020.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?