AdaCpp
C++ IDE
C++ 学习
基础练习
代码评测
特惠套餐
切换语言
二叉树的遍历 - CSP-J初赛冲刺课 | AdaCpp
返回课程
CSP-J初赛冲刺课
全部课时
0/22
1. 课程介绍
免费
2. 计算机发展史
3. 计算机组成
4. 计算机网络
5. 计算机语言
6. 计算机内置函数
7. 基础算法概念
8. 链表
9. 栈
10. 队列
11. 树的定义与表示
12. 二叉树的遍历
13. 特殊二叉树
14. 图的存储与定义
15. 图的连通性
16. 拓扑排序
17. 素数问题汇总
18. 欧几里得算法
19. 进制转换
20. 计算机编码
21. 哈夫曼编码
22. 格雷码
二叉树的遍历
课程文档
知识总结
二叉树的定义
每个节点最多有两个子节点(左子节点和右子节点)的树。
三种遍历方式
遍历方式
访问顺序
口诀
前序遍历
根→左→右
根左右
中序遍历
左→根→右
左根右
后序遍历
左→右→根
左右根
遍历示例
复制
A
/ \
B C
/ \ \
D E F
前序:A B D E C F
中序:D B E A C F
后序:D E B F C A
层序:A B C D E F
由遍历序列还原二叉树(初赛重点)
前序 + 中序
→ 可以唯一确定二叉树
后序 + 中序
→ 可以唯一确定二叉树
前序 + 后序
→
不能
唯一确定(除非是满二叉树)
还原方法
:
前序的第一个元素(或后序的最后一个元素)是根
在中序中找到根,左边是左子树,右边是右子树
递归处理左右子树
层序遍历
使用
队列
实现,逐层从左到右访问所有节点。