DivdeAndConquer
算法思想有很多,下面是常见的一些思想。
枚举算法思想
也可称为穷举法,面对问题时尝试每一种解决方法。
递推算法思想
在枚举过程中利用中间推论,逐步递推,直到结果为止。
递归算法思想
通过调用自身实现
分治算法思想
分治算法通过求出子问题的解,就可得到原问题的解,一般包括,分解,求解,合并。
贪心算法思想
贪心算法通过求解局部最优解,达到解决整体最有解,可以看出动态规划的一种特例。
回溯法
回溯法先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一进行枚举和检验。当发现当前候选解不可能是正确的解时,就选择下一个候选解。
迭代算法
迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,在解决问题时总是重复利用一种方法。与迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法,功能都比较类似。
模拟算法思想
模拟是对真实事物或者过程的虚拟。在编程时为了实现某个功能,可以用语言来模拟那个功能,模拟成功也就相应地表示编程成功。
Last updated