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

宿松县住房和城乡建设局网站校园网站建设培训

宿松县住房和城乡建设局网站,校园网站建设培训,php网站伪静态,支持ipv6网站开发理解递归 一、递归的特征 1.执行范围不断缩小 递归类似数学里的递推,设计递归就是努力寻找数学里的递推公式,例如阶乘的递推公式就是f()n*f(n-1),很明显一定是要触底之后才能反弹。再比如斐波那契数列的递归公式为f(n)f(n-1)f(n-2),n也在不断缩小。这条…

              理解递归

一、递归的特征

1.执行范围不断缩小

递归类似数学里的递推,设计递归就是努力寻找数学里的递推公式,例如阶乘的递推公式就是f()=n*f(n-1),很明显一定是要触底之后才能反弹。再比如斐波那契数列的递归公式为f(n)=f(n-1)+f(n-2),n也在不断缩小。这条规律可以辅助我们检查自己写的递推公式对不对。

2.终止条件在递归调用的前面

递归之后可能还有终止条件,但是在执行递归之前,一定会有一个终止条件。这一条也可以帮助我们检查自己写的算法对不对。
如果递归之前没有终止条件,递归就会一直进行下去。

二、写递归

第一步、从小到大递归

可以从n==1开始考虑递归关系,然后让n逐渐增大,判断递归关系是否成立。在算法里,我们写递归一般不需要证明,先选几个较小的值验一下,再选择几个比较大的验一下即可。

第二步、分情况讨论,明确结束条件

我们说过递归里终止条件一定是靠前的,而大部分递归的终止条件不过是最小开始触底反弹时的几种情
况。
对于阶乘,当n=1时你就应该知道f(1)=1,也就是下面这样子:
截屏2023-12-02 13.17.30.png
有时候需要考虑的终止条件不止一个,例如斐波那契数列的递推公式f(n)=f(n-1)+f(n-2)里,如果n=2时会出现(2)=f(1)+f(0),很明显这里是没有f(0)的,所以我们要将==2也给限制住,所以结束条件是这样的:
截屏2023-12-02 13.19.06.png
有些情况不一定是触底才开始反弹,而是达到某种要求就要停止,这样需要考虑的情况会比较多。解决这类问题最直接的方式就是枚举,将可能的情况列举一下,再逐步优化。
确定终止条件对于递归至关重要,后面很多题目会花很大的篇幅来分析怎么判断终止条件,而一旦判断完毕,递推关系也就水到渠成了。

第三步、组合出完整方法

将递推公式和终止条件组合起来,变成完整的方法。
递归经常能看到很多骚操作代码,不要迷信这些,先分情况逐个先写出来,之后再看能否精简优化,不要步子太大。

三、看懂递归

以f(4)阶乘为例
截屏2023-12-02 13.47.23.png

http://www.dtcms.com/wzjs/711632.html

相关文章:

  • 专业的网站建设公司排名有没有专门做根雕的网站
  • 容桂网站开发国内知名互联网公司
  • 数码产品销售网站建设策划书深圳建设集团网站
  • 中国建设工程鲁班奖查询网站大型网站和小企业站优化思路
  • 婴儿衣服做的网站好虚拟币交易网站建设
  • 营销网站建立公司网站服务器打不开
  • 建网站公司成都怎么做后台网站一键更新
  • 电子商务网站html模板企业怎样建立自己的网站
  • 网站建设公司名字后缀的域名暂无法进行网站备案
  • 网站平台建设呈现全新亮点青秀区网站建设
  • wordpress做网站网站开发模块查相似
  • 专业科技公司网站欣赏网站建设与推广协议
  • 网站推广方式组合行政事业单位网站建设
  • 个人做旅游网站的意义地方网站有何作用
  • 大良购物网站建设wordpress图片怎么居中
  • 安庆网站建设推荐安徽秒搜科技做的网站响应速度慢
  • 网站访问量很大怎么办百度授权代理商
  • 自主免费建站网站wordpress 直播 视频教程
  • 检测网站安全南京制作网页培训班
  • 数字城市建设网站安阳工学院图书馆找做网站的书在哪
  • 网站建设好了怎么发布新产品如何快速推广市场
  • wap网站html模板wordpress 访问记录
  • 部队织梦网站模板免费下载c 微信网站开发
  • 温州建设信息网站网站开发与应用 答案
  • 哪些网站可做矿机期货网页模板免费下载源代码
  • 网站上放的动画视频是怎么做的专门做电脑壁纸网站
  • 发布软文网站做网站都需要自己的服务器吗
  • vue做的项目网站wordpress rest发文章
  • 深圳做网站推广优化成都最值得一去的地方
  • 上海营销型网站报价网站HTML怎么做链接