编程必备的最基本5种算法思想

常用算法思想

 

 

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)、判断上述结果是否在需要精度内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值