数据结构算法的基本知识
算法一般都可以用递归和循环两个办法来实现
- 递归的代码较简洁
- 循环的性能较好
要根据题目的特点合理的选择算法
二维数组上搜索路径
- 一般使用回溯法(backtracking)
- 回溯法一般和递归相结合,如果不允许使用递归,可以使用栈来实现递归的过程
最优解问题
- 这个问题一般是分成多个子问题
- 使用动态规划来解决问题
- 最好是使用自下而上的循环代码来实现,先解决小问题,再合并为大问题
- 在分解子问题的时候,存在某个特殊的选择,选择这个就一定得到最优解,那个这个问题可能就是贪婪算法
位运算
- 与,或,非,左移,右移