•二叉树的遍历算法Traverse in Binary Tree
• Preorder / Inorder / Postorder•
•二叉树的深度优先搜索DFS in Binary Tree
•遍历问题Preorder / Inorder / Postorder
•分治算法Introduce Divide Conquer Algorithm
•非递归遍历法 分治法Non-recursion vs Traverse vs Divide Conquer •二叉搜索树Binary Search Tree
• Insert / Remove / Find / Validate
通过O(n)的时间,把n的问题,变为了两个n/2的问题,复杂度是多少?
通过O(1)的时间,把n的问题,变成了两个n/2的问题,复杂度是多少?
Recursion递归
递归三要素
- 递归的定义:定义接口,需要哪些参数
- 递归的拆解,把大问题拆解成小问题
- 递归的出口
Traverse
Divide & Conquer
1.不用全局变量
- 一般需要返回值
3.把结果合并起来