暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

穷举算法和递推算法(Java)

程序员之路 2021-09-07
1009

穷举算法

概念:

最简单算法,依赖计算机的强大计算能力穷尽每一种可能的情况。穷举算法效率不高,但是适合一些没有明显规律可循的场合。

 

思想:

在使用穷举算法时,需要明确问题答案的范围,这样才可能在指定范围搜索答案。指定范围之后,就可以使用循环和条件判断语句进行逐步验证结果了。

 

案例:鸡兔同笼问题

在一个笼子里关着若干只鸡和若干兔子。一共有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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论