穷举算法
概念:
最简单算法,依赖计算机的强大计算能力穷尽每一种可能的情况。穷举算法效率不高,但是适合一些没有明显规律可循的场合。
思想:
在使用穷举算法时,需要明确问题答案的范围,这样才可能在指定范围搜索答案。指定范围之后,就可以使用循环和条件判断语句进行逐步验证结果了。
案例:鸡兔同笼问题
在一个笼子里关着若干只鸡和若干兔子。一共有35个头,和94只脚。问在一个笼子里鸡和兔子各有多少个。
递推算法
概念:
递推算法在数学计算等方面广泛应用。递推算法适合有着明显规律的场合
思想:
递推算法往往需要用户知道答案和问题之间的逻辑关系。在许多数学问题中,都有着明显的计算公式可以遵循,因此可以采用递推算法。
案例:兔子产崽子的问题
如果有两个月大的兔子以后每个月都可以产一对小兔子,而一对小兔子出生两个月后可以在生小兔子,也就是1月份出生,3月份才可以产崽子。那么假定一年内没有发生死亡事件,那么现在有一对小兔子一年后共有多少对兔子。
案例分析:
1月 1对兔子
2月 1对兔子
3月 2对兔子 一对成熟兔子
4月 3对兔子
5月 5对兔子 两对成熟兔子
6月 8对兔子 三对成熟兔子
。。。。。。
规律:前两个月都是一对兔子,以后每个月的兔子的对数是前两个月的总和
除1,2月份的计算公式:n月 Fn = (Fn-1)+(Fn-2)
文章转载自程序员之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。