7.递归

大家好,我是被白菜拱的猪。

  • 啥是递归?
    《盗梦空间》中梦中梦,梦中梦中梦,看到最后MMP这他妈到底是梦还是现实。递归也可以理解为做梦,还要做梦的前提必选要建立在原先的基础上。所以我们把程序程序调用自身的编程技巧称为递归
  • 斐波那契数列
    我们可以用递归来解决斐波那契数列问题 。
    1 1 2 3 5 8 13 21 34…当前数等于前两个数相加
long 获取斐波那契数(long index) {
		if (index == 1 || index == 2) {
			return 1L;
		} else {
			return 获取斐波那契数(index - 1) + 获取斐波那契数(index - 2);
		}
	}

为了便于理解,这里方法名用中文“获取斐波那契数(long index)”表示。此时在该方法里面又调用了该方法,这就是运用了递归的思想。

  • 总结
    数学归纳法我们高中都学过,告诉你a1=xx,成立。假设n=k,成立,看n=k+1是否成立。递归亦是如此,都是从第一级开始然后找第二级与第二级的关系,以此类推。
    所以每一次执行都要从第一级开始,当操作数量很多时,得到结果的时间的会成几何级增加,
    这让联想到荷花定理
    一个荷花池,第一天荷花开放的很少,第二天开放的数量是第一天的两倍,之后的每一天,荷花都会以前一天两倍的数量开放。
    如果到第30天,荷花就开满了整个池塘,那么请问:在第几天池塘中的荷花开了一半?
    第15天?
    错!是第29天。

很多人的一生就像池塘里的荷花,一开始用力地开,玩命地开…
但渐渐的,你开始感到枯燥甚至是厌烦,你可能在第9天、第19天甚至第29天的时候放弃了坚持。
这时,往往离成功只有一步之遥。
拼到最后,拼的不是运气和聪明,而是毅力。

我也不知道两者是怎么关联起来的…

发布了24 篇原创文章 · 获赞 4 · 访问量 2038

猜你喜欢

转载自blog.csdn.net/weixin_44226263/article/details/96721919