常见的算法思想
比较笨的穷举算法思想
又称为枚举法
把所有可能枚举一边,效率低。
递推
从已知到未知,从小到大
典型代表:斐波那契数列,由前两项推后一项
递归
指一种直接或间接地调用原算法本身的算法
在程序中不断反复的调用自身来达到求解问题的方法
递归调用实际上是自身调用自身
分治法
把原问题分解成若干个小的子问题
动态规划
基本思想与分治类似,也是将原问题分解成若干个子问题。
按顺序求解子阶段,前一问题的解,为后一问题的求解提供了有用信息。在求解任一子问题是,列出可能的局部解,毒气其他局部姐,通过决策保留那些有可能达到最优的局部解。依次解决各子问题
局部最优的贪心
指在对问题求解时,总是做出在现在看来的最优解,是在某种意义上的局部最优解
回溯算法
回溯算法实际上是一个类似枚举的搜索尝试过程
基本思想:
程序=数据结构+算法
算法【1】
算法好坏的评价依据
时间复杂度
时间复杂度为一个算法流程中,基本操作数量随数据规模变化的趋势。常用O来表示。(Omicron)
O(n)/O(n2)/……取决于最高次项