以上图为基础
①前序遍历的方式是:首先访问根节点,然后访问左子树,最后访问右子树。
前序遍历序列:F C A D B E H G M
②中序遍历的方式是:首先访问左子树,接着访问根结点,最后访问右子树。
中序遍历序列:A C B D F H E M G
③后序遍历的方式是:首先访问左子树,接着访问右子树,最后访问根结点。
后序遍历序列:A B D C H M G E F
④相同的特点:
左子树总是在右子树的之前遍历。
遍历都可以用递归的方式来描述。
中序遍历的序列中任取一个结点,该结点的左子树右子树一定分别在该结点左右,其他遍历序列也是如此。
遍历实质就是看每个结点及其子结点,谁先满足访问的要求,比如上图A结点,在后续遍历整个二叉树中A及其子结点先满足-访问完左右结点-,所以先访问A结点。
⑤由序列逆推二叉树
给定一个序列无法确定二叉树结构
给定中序+前/后序则可以确定二叉树结构
先序遍历: GDAFEMHZ
中序遍历: ADEFGHMZ
后序遍历: AEFDHZMG
前序遍历A-B-D-F-G-H-I-E-C
中序遍历F-D-H-G-I-B-E-A-C
后序遍历F-H-I-G-D-E-B-C-A
前序顺序A-B-D-F-G-H-I-E-C
中序顺序F-D-H-G-I-B-E-A-C
后序顺序F-H-I-G-D-E-B-C-A
• 前序遍历: ABDECFG
• 中序遍历: DBEAFCG
• 后续遍历: DEBFGCA
————————————————
版权声明:本文为CSDN博主「代码敲上天...」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_52226803/article/details/117423431
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具