常用算法思想
1, 穷举算法思想
是最简单的算法之一, 依赖计算机的算法能力, 来穷尽每一种可能, 来求解答案.
执行步骤:
1), 对于一种可能的情况, 计算其结果
2), 判断结果是否满足需求, 如果不满足则执行 1 继续搜索. 满足则表示找到一个正确答案.
2, 递推算法思想
是一种理性思维的代表, 根据已有的数据和关系, 逐步推导而得到结果.
执行步骤:
1), 根据已知结果和关系, 求解中间结果
2), 判断是否达到要求, 如果没有达到, 则继续根据已知结果和关系求解中间结果; 如果达到要求, 则表示找到了一个正确的结果.
3, 递归算法思想
在程序中不断反复调用自身来达到求解问题的方法
方法的递归分为: 直接递归, 间接递归
优点: 代码简洁, 可读型号
缺点: 并没有减少代码规模好节省内存空间.
4, 分治算法思想:
将一个计算复杂的问题分为规模较小, 计算简单的小问题求解, 然后综合各个小问题, 得到最终问题答案.
执行步骤:
1), 确定一个规模为 n 的难解决问题难以直接解决
2), 将该问题分解为 m 个规模较小的子问题 a,a 们之间相互独立, 与原问题形式相同
3), 递归地解决这些小问题, 即一个一个解决
4), 然后, 将各子问题的解合并到原问题的解
5, 概率算法思想
无法计算解析, 将实际问题的求解数值通过近似值的方式解出.
执行步骤:
1), 将问题转化为相应的几何图形 S,S 面积容易求出, 问题的结果对应几何图形中某一部分 S1 的问题
2), 然后, 向几何图形里撒点
3), 统计几何图形 S 和 S1 中的点数, 根据面积关系及点数关系来计算得到结果
4), 判断上述结果是否在需要精度内.
----------------
来源: http://www.jianshu.com/p/7f5a476ee09b