回溯法 / 二叉树遍历 的思想
递推和递归的区别
recursion, 递归, 从小到大
recurrence, 递推, 自我嵌套
- 递推没有“归”,只是往前进的过程,所以递推是递归的一个步骤; 递归有“递”也有“归”,既向前推进直到最底层,也会有返回的过程;
- 迭代概念更宽泛,是指一代一代的循环罔替的意思,没有明确一定存在最底层,也没有强调返回的过程;
- 递推,递归和迭代都是指具体的概念和方法,而回溯是指运用上面某种概念和方法的种思想; 比如0-1背包问题用回溯法求解,其中就需要用到递归
数据结构:
数组 / 矩阵
表:线性表 散列表
栈
队列
堆
图
树: 二叉树 左高树 竞争树 搜索树 平衡树 红黑树 B树 分裂树
五大基本算法:
贪婪算法
分而治之
回溯
动态规划
分支定界