本文主要参考资料:https://zhuanlan.zhihu.com/p/272791799
二叉树理论基础
二叉树种类
1)满二叉树
2)完全二叉树
3)平衡二叉树
4)二叉搜索树
二叉树存储方式
- 链式存储
- 顺序存储
如果父节点的数组下表是i,那么它的左孩子就是i * 2 ,右孩子就是 i * 2 + 1。
二叉树遍历方式
深度优先遍历
1)前序遍历(递归法,迭代法)
2)中序遍历(递归法,迭代法)
3)后序遍历(递归法,迭代法)
递归与迭代的区别(https://www.jianshu.com/p/32bcc45efd32)
递归是一个树结构,从字面可以其理解为重复“递推”和“回归”的过程,当“递推”到达底部时就会开始“回归”,其过程相当于树的深度优先遍历。
迭代是一个环结构,从初始状态开始,每次迭代都遍历这个环,并更新状态,多次迭代直到到达结束状态。
广度优先遍历
1)层次遍历(迭代法)