数据结构
算法
如何思考问题,从不同角度思考问题(问题的建模与何种算法适用),哪一种适合用代码来求解,比如自己换换成什么问题,模拟,暴力,DP,贪心
查找与搜索
二分法:特征:1.已排序。2.特定值
模版:
例题:
贪心
一个大问题每一次总是走出当前最优解。总是做出在当前看来最好的选择就可以完成任务。总是考虑最优子问题,像是一棵树自下而上的求解问题
动态规划
一个大问题由许多小问题组成,在求解时总是遇到相同的子问题,所以利用空间换时间,将子问题的解记录下来。需要考虑到所有子问题,确定合适的问题与子问题,构建基于所有子问题的状态转移函数。
1.若何确定问题,若何确定子问题
2.若何构建状态转移函数
3
4
子问题的结构相同(构建状态转移函数,将要求解的问题转换成其它已知子问题),比如青蛙跳台阶,既然子问题结构相同那么可以向极端方向思考,简化成最简单的集中情况来分析试试。