序言
二叉树题型的算法主要分为回溯,动态规划,迭代三类。从本质上三者都是在遍历算法基础上的修改。回溯关心的是在每个结点的访问过程中如何更新结果;动态规划关心的是如何拆解出子问题,不具体分析每个结点的状态,而是通过划分子问题让其通过基本问题递归解决;迭代主要是指BFS层序遍历,适用于与深度(或高度)相关的问题求解
二叉树基本结构
- 二叉树
1 | class TreeNode { |
- 多叉树
1 | class TreeNode { |
二叉树遍历
- 递归遍历
前序位置:刚进入当前子树根结点的时候(已知根结点信息)