算法第二章上机实践报告

摘要:
心得体会其实这道题一开始我是完全读不懂题意,甚至那些样例我也看不懂,因为14,377都太大了,很难枚举找出关系,甚至后来上网查找有关这道题,我也还是搞不懂为什么这道题属于斐波那契数列,后来在博客上多看了其他人的做法学习,后来就慢慢理解了。

实践题目

2-3蜜蜂路线(20分)

问题描述  

有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。

C40-1001-1.jpg

输入格式:

输入 m,n 的值, 0<m<n<30

输出格式:

一个整数,爬行有多少种路线

输入样例:

1 14

输出样例:

377

算法描述

看图形,每到一个数,就有两条路可走,满足斐波那契数列的模型,因此这道题实际上还是用递归算法求解。不过这里应该注意的是,此时是逆向求解,要求f(1),得先一直递归直到能求f(12),再反过来求f(1)

#include <iostream> 
 #define SIZE 15001 
 using namespacestd; 
 intf[SIZE] ;
 intmain(){
     intn, m, i; 
     cin >> m >>n;   
     f[m]=1;
     f[m+1]=1;
     for (i = m+2; i <= n; i++)
         f[i] = f[i-1] + f[i-2];
     cout << f[n] <<endl; 
     return 0;
  }

算法时间及空间复杂度分析(要有分析过程)

时间复杂度:

复杂度实际上在与循环次数有关T(n) = 3 + 3 * (n - m + 1) =O(n)

空间复杂度:

因为每个变量空间复杂度为O(1),斐波那契数列的非递归算法空间复杂度为O(1)。

心得体会(对本次实践收获及疑惑进行总结)

其实这道题一开始我是完全读不懂题意,甚至那些样例我也看不懂,因为14,377都太大了,很难枚举找出关系,甚至后来上网查找有关这道题,我也还是搞不懂为什么这道题属于斐波那契数列,后来在博客上多看了其他人的做法学习,后来就慢慢理解了。这道题算是算法的入门级题吧,让我意识到一道奇奇怪怪的题,里面的做法都是来自算法的方法里,可能很难理解,但就是能用算法里的方法将这种奇怪的题化成书里那些经典的例题,像最近才做完的派这道题也是这样。

免责声明:文章转载自《算法第二章上机实践报告》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Jenkins实现生产环境部署文件的回滚操作(Windows)IMAP协议从网易邮箱的骚操作到QQ邮箱的BUG下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Python3 读取和写入excel

/py_工作/销售/包括/天气。csv'_工作簿函数读取并返回所有工作表● 以列表形式读取_仅:判断是否读取_仅以模式打开Excel文档● 编码:...

CSS躬行记(8)——裁剪和遮罩

裁剪最早是在CSS2.1时代由clip属性引入,但该属性只能应用于绝对定位的元素,并且只能裁剪成矩形。CSS3提供了强大的clip-path属性,突破了clip属性的众多限制,接下来将围绕clip-path属性展开讲解。3)裁剪路径对于复杂的形状,可以采用SVG来创建裁剪路径,实现自定义。2)替换元素的填充和定位CSS3引入了两个新属性,用于遮罩替换元素。...

Maven settings.xml配置详解

让我们来谈谈设置。对于Maven,xml相当于全局配置,用于所有项目。maven2-xml中有两个设置,作为全局配置位于maven2的安装目录conf下。对于团队设置,一致的定义是关键,因此maven2/conf Xml下面的设置是团队的通用配置文件。当然,每个成员都需要特殊的用户定义设置,例如用户信息,其他设置也是如此。xml用作本地配置。默认位置为:${...

Linux(debian7)操作基础(四)之CPU频率调整 Linux系统CPU频率调整工具使用

在Linux中,内核的开发人员定义了一组框架模型,以实现动态调整CPU频率的目的,这就是CPUFreq系统。交互式:交互式模式,直接连接到最高频率,然后CPU负载缓慢降低,导致相对较高的功耗。Interactive根据计划的CPU数量来调整频率,以节省电力。InteractiveX根据CPU负载调整CPU频率,而不会过度降低频率。用户空间:用户定义的模式。该...

某音乐平台付费音乐破解

前三个字节是ID3,这个是MP3文件格式的头部0x04保存.mp3格式即可...

docker默认网段和主机网段冲突解决

一、docker默认网卡docker0172.17.0.0可能会与主机冲突,这时候需要修改docker默认分配的网段1、修改/etc/docker/daemon.json文件,加入以下代码{"default-address-pools":[{"base":"172.100.0.0/16","size":24}]}其中上面的172.100.0.0/16是自定义...