树
- [ ] 二叉树遍历学习
- [ ] 二叉树的前序,中序,后序遍历方法总结
- [ ] 三序遍历用途
- [ ] 为什么说二叉树遍历用递归的方法不如非递归方法?
二叉树
二叉树是一种非常重要的数据结构, 很多其它数据结构都是基于二叉树的基础演变而来的。
对于二叉树,有以下两种遍历方式
- 深度遍历有前序、中序以及后序三种方法
- 前序遍历: 根结点 ---> 左子树 ---> 右子树
- 中序遍历: 左子树---> 根结点 ---> 右子树
- 后序遍历: 左子树 ---> 右子树 ---> 根结点
- 广度遍历即我们平常所说的层次遍历
因为树本身就是递归形式的,因此采用递归的方法,去实现树的三种遍历不仅容易理解而且代码很简洁,而对于广度遍历来说,需要其他数据结构的支撑,比如说堆
例如: 求以下二叉树的各种遍历方式
根节点为1,层高为4
- 前序遍历:
1(根), 2(左), 4(左), 5(右), 7(左), 8(右) | 3(右) 6(右)
- 中序遍历:
4(左), 2(左), 7(左), 5(右), 8(右) | 1(根), 3(右) 6(右)
- TODO