Java中如何计算斐波那契数列第N项的值

 时间:2024-10-16 04:35:53

1、通过递归,实现斐波那契数列第n项值的计算图示,如果n为1或者n为2时,直接返回,否则返回第n-1项和第n-2项序列值的和。

Java中如何计算斐波那契数列第N项的值

2、普通递归算法计算斐波那契数列值的时间复杂度分析图示,通过递归树来分析上述算法的时间复杂度,可以看出其时间复杂度为 O(2ⁿ),这是指数级别的时间复杂度,即非多项式时间复杂度。

Java中如何计算斐波那契数列第N项的值

3、普通递归算法改进版图示,在上述分析时间复杂度的递归树中,我们可以看出在计算斐波那契数列的过程中,有些值是被重复计算的,因此算法改进版中通过引入一个 Map 来记录已计算的值,当下次需要时,直接获取即可,减少了重复计算的工作量。

Java中如何计算斐波那契数列第N项的值

4、编写测试方法图示,主方法中,分别调用普通算法和改进算法计算获取多个斐波那契数列值,并记录算法执行时间。

Java中如何计算斐波那契数列第N项的值

5、测试运行图示,从控制台输出,可以看出两个算法都能正确执行,但普通算法耗时是改进版算法的几千倍。

Java中如何计算斐波那契数列第N项的值
  • 大学选课选错了怎么退课
  • eclipse如何导入dynamic web project
  • 如何在html中制作圆角矩形
  • 校园卡领视频会员在哪里领
  • sql软件怎么创建一个部门表
  • 热门搜索
    小学生手抄报内容 开学第一课手抄报小学 爱祖国的手抄报简单 崇尚科学反对邪教手抄报 科学手抄报图片大全 教师节手抄报内容 手抄报花边简单又漂亮 改革开放40周年手抄报 秋天手抄报 高中生手抄报