当前位置: 首页 > news >正文

济南seo网站建站外贸推广用中文网站

济南seo网站建站,外贸推广用中文网站,正规网站建设学习网公司哪家好,wordpress自动推送百度兔子繁殖问题#xff1a; 这是一个有趣的古典数学问题#xff0c;著名意大利数学家Fibonacci曾提出一个问题#xff1a;有一对小兔子#xff0c;从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律#xff0c;假设没有兔子死亡…兔子繁殖问题 这是一个有趣的古典数学问题著名意大利数学家Fibonacci曾提出一个问题有一对小兔子从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律假设没有兔子死亡第一个月有一对刚出生的小兔子问第n个月有多少对兔子 相信上面的题目稍微有点经验的程序员都了解过这就是著名的斐波那契数列Fibonacci sequence该数列又称黄金分割数列、因数学家列昂纳多·斐波那契Leonardoda Fibonacci以兔子繁殖为例子而引入故又称为“兔子数列”指的是这样一个数列1、1、2、3、5、8、13、21、34、…… 特点这个数列从第3项开始每一项都等于前两项之和。 表达式F[n]F[n-1]F[n-2] (n2,F[0]0,F[1]1) 看到这个表达式相信大多数读者都能想到使用递归算法实现那么由此我们可以得到求解斐波那契数列的一种算法 public class Main {public static int f (int n) {if (n 2) {return 1;} else {return f(n-1) f(n-2);}}public static void main(String[] args) {int n 12;System.out.println(f(n));} } 注若用于求解兔子繁殖问题需要对输入参数进行额外处理 但是 对于小数据来说上面的算法或许还可行但是我们发现用30作为输入进行计算的时候程序输出结果时已经有了一定的时间延迟而用再大的数据来测试就会发现结果在短时间内根本出不来这是为什么呢 对于上面的递归求解方法来说时间复杂度为O(2^n)所以效率非常慢为了计算一个f(n)需要存在一个f(n-1)和一个f(n-2)然而f(n-1)递归地对f(n-2)h和f(n-3)进行调用因此存在两个单独计算f(n-2)的调用。继续跟踪整个算法会发现f(n-3)被计算了3次f(n-4)被计算了5次而f(n-5)则是8次。冗余的计算无疑加重了编译器的负担如果编译器不能对之前计算过的数据进行保留这样的增长就无法比避免。 所以这里给出第二种算法,时间复杂度为O(n) public class Main {public static int f (int n) {if (n 2) {return 1;}int last 1;int nextToLast 1;int answer 1;//前2位都为1for (int i 3; i n; i) {answer last nextToLast;nextToLast last;last answer;}return answer;}public static void main(String[] args) {int n 12;System.out.println(f(n));} } 第二种算法即使用非常大的数据进行测试也仅仅是稍有延迟短时间内基本可以输出。 下面我们来分析一下这两种算法的思想 分治策略是对于一个规模为n的问题若该问题可以容易地解决比如说规模n较小则直接解决否则将其分解为k个规模较小的子问题这些子问题互相独立且与原问题形式相同递归地解这些子问题然后将各子问题的解合并得到原问题的解。 提到分治策略就不得不提递归递归与分治的关系网上说的有诸多含糊不清愚见分治是一种思想而递归是实现分治思想的方法。 动态规划的基本思想与分治策略类似区别就在于动态规划是一种带基于记忆化搜素的思想这也是不同于普通搜索算法的一大特点。 所以动态规划思想常用于解决问题中含有较多重叠子的问题这种问题应尽量避免使用单纯的递归算法实现。
http://www.pierceye.com/news/96830/

相关文章:

  • 栖霞网站定制三合一建站网站
  • 免费建立一个个人网站设计官网登录入口
  • 门户网站模板之家北京网上服务平台
  • 合肥网站优化方案东莞做网站那家好
  • 个人备案网站可以做论坛吗山东住房建设厅官网站首页
  • 寺院网站模板网站策划制作公司 北京
  • 昆山教育云平台网站建设宁晋县建设局网站
  • 廊坊网站公司dw做网站背景音乐
  • 阜南做网站搜索引擎优化seo多少钱
  • 贵州建设厅网站怎样查询电工证天津网站备案
  • 常州做网站的公司在盐城做网站的网络公司电话
  • seo站外推广如何用wampp 做网站
  • 怎样用手机做网站中企动力百度百科
  • 哪些网站可以做任务挣钱免费app软件
  • 国内简约网站平潭县机场建设网站
  • wordpress 全站通知wordpress怎样打开速度快
  • 广州市建设职业培训学校网站移除wordpress版本
  • 如何申请一个网站 新网动画制作大师
  • 动易后台 网站统计调查 报表类型怎样使用手机相册备份网站源码
  • 做网站放到百度上需要什么查看wordpress使用什么主题
  • 深圳企业网站seo郑州汉狮专业做网站公司
  • 广东网站建设多少钱辛集专业网站建设
  • 怎样做网站公司的销售小程序推广计划怎么赚钱
  • 网站开发文档编写wordpress小说站群
  • 南宁网站开发推广网站html模板下载
  • 网络编辑的网站建设题二手域名交易平台
  • 定制网站开发商业计划书贵南县网站建设公司
  • 如何免费发布个人网站网站项目需求分析
  • 太原免费网站建设网站开发合作协议书
  • 深圳龙华做网站上海响应式网站制作公司