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

网站次页离石新闻头条最新消息

网站次页,离石新闻头条最新消息,惠州app开发公司,住房城乡建设行业从业人员前言前段时间#xff0c;遇到优化计算斐波那契数列的常规递归方法#xff0c;但是一时间并没有及时想到很好的方法#xff0c;所以后面查找了相关资料#xff0c;总结了多种计算解法#xff0c;所以分享出来#xff0c;和大家一起交流学习。斐波那契数是什么斐波那契数列…前言前段时间遇到优化计算斐波那契数列的常规递归方法但是一时间并没有及时想到很好的方法所以后面查找了相关资料总结了多种计算解法所以分享出来和大家一起交流学习。斐波那契数是什么斐波那契数列(Fibonacci sequence)又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入故又称为“兔子数列”指的是这样一个数列1、1、2、3、5、8、13、21、34、……在数学上斐波那契数列以如下被以递推的方法定义F(1)1F(2)1, F(n)F(n - 1)F(n - 2)(n ≥ 3n ∈ N*)。知道了斐波那契数那么下面我们就用多种不同的方法来计算获取第N位斐波那契数。普通递归这种方法是最常规的直接根据定义F(n)F(n - 1)F(n - 2)递归计算即可但是性能是最低的。/*** 普通递归* param int $n* return int*/function fib($n 1){// 低位处理if ($n 3) {return 1;}// 递归计算前两位return fib($n - 1) fib($n - 2);}递归优化从上面的递归方法可以看到进行了很多的重复计算性能极差如果N越大计算的次数太可怕了那么既然因为重复计算影响了性能那么优化就从减少重复计算入手即把之前计算的存储起来这样就避免了过多的重复计算优化了递归算法。/*** 递归优化* param int $n* param int $a* param int $b* return int*/function fib_2($n 1, $a 1, $b 1){if ($n 2) {// 存储前一位优化递归计算return fib_2($n - 1, $a $b, $a);}return $a;}记忆化自底向上自底向上通过迭代计算斐波那契数的子问题并存储已计算的值通过已计算的值进行计算。使用for循环减少递归带来的重复计算问题。/*** 记忆化自底向上* param int $n* return int*/function fib_3($n 1){$list [];for ($i 0; $i $n; $i) {// 从低到高位数依次存入数组中if ($i 2) {$list[] $i;} else {$list[] $list[$i - 1] $list[$i - 2];}}// 返回最后一个数即第N个数return $list[$n];}自底向上进行迭代最低位初始化赋值使用for从低位到高位迭代计算从而得到第N个数。/*** 自底向上进行迭代* param int $n* return int*/function fib_4($n 1){// 低位处理if ($n 0) {return 0;}if ($n 3) {return 1;}$a 0;$b 1;// 循环计算for ($i 2; $i $n; $i) {$b $a $b;$a $b - $a;}return $b;}公式法通过了解斐波那契序列和黄金分割比之间的关系使用黄金分割率计算第N个斐波那契数。/*** 公式法* param int $n* return int*/function fib_5($n 1){// 黄金分割比$radio (1 sqrt(5)) / 2;// 斐波那契序列和黄金分割比之间的关系计算$num intval(round(pow($radio, $n) / sqrt(5)));return $num;}无敌欠揍法这个方法我就不多说了吧大家都懂的但是千万别轻易尝试……/*** 无敌欠揍法* param int $n* return int*/function fib_6($n 1){// 列举了30个数$list [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269];return $list[$n];}最后好了我就大概写了几种解法如果有不对的地方请大家指出我会及时修改大家有其他计算方法欢迎分享出来一起交流和学习谢谢
http://www.yutouwan.com/news/154481/

相关文章:

  • 中小企业网站建设微信运营课程介绍
  • 电子商务网站开发报告怎样才能申请网站
  • 杭州网站建设第一品牌网络商城是什么意思
  • 定西谁做网站制作个人免费网站展示设计
  • 网站制作 番禺学校网站建设方案及报价
  • 项目推广方案怎么写抖音seo排名源码
  • 福建建设执业资格注册管理中心网站很多搜索词网站怎样做
  • 茶网站建设上海建筑设计院有限公司停工
  • nas可做网站服务器吗wordpress个人小说主题
  • 专业制作公司网站公司网站开发总结性报告
  • 网站源代码怎么生成网页wordpress七牛视频播放
  • 网站上传服务器后台上传资料出错余杭专业的网页制作官网
  • 大航母网站建设成都网站外包公司
  • 杭州做微信网站软件公司重庆百度开户
  • 网站建设产品展示型的苏州吴中区做网站价格
  • 小型网站搭建网站域名备案转接入手续
  • wordpress的静态数据库seo查询外链
  • 怎么找网站建设有效的网站优化
  • 国内做服装的网站有哪些医院网站建设网站
  • 网站正在建设中页面seo怎么做排名
  • 怎么让网站无法自适应创意礼品私人定制
  • 建站工作室网站源码口碑好网站建设定制
  • 成都装修网站制作多少钱网站怎么做用qq登录接入
  • 郴州网站建设案例青岛模板建站多少钱
  • 二次元网站模板百度官方营销推广平台有哪些
  • 怎么直接用代码做网站嘉兴专业做网站
  • 网站建设项目收获如何学做网站平台
  • 佛山市云时代网站建设公司免费云主机试用
  • 网站页脚的制作wordpress 4.8 pdf缩略图
  • 培睿网站开发与设计无锡做网站公司有哪些