函数递归

Posted rongge95500

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数递归相关的知识,希望对你有一定的参考价值。

函数递归(函数的递归调用):

      在调用一个函数的过程中,又直接或间接地调用了该函数本身。

递归必须要有两个明确的阶段:

  1,递推:一层一层递归调用下去。

  2,回溯:递归必须要有一个明确的结束条件,在满足该条件时结束递推,开始一层一层回溯。

递归的精髓-------->>通过不断重复逼近一个最终的结果。

技术分享图片
1 l=[1,[2,[3,[4,[5,[6,[7,]]]]]]]
2 def tell(l):
3     for item in l:
4         if type(item) is list:
5             tell(item)
6         else:
7             print(item)
8 tell(l)
View Code递归取值

例:用递归推算第一个人的年龄(1号说他比2号大两岁,2号说他比3号大两岁,3号说他比4号大两岁,4号说他比5号大两岁,5号说他26岁,用递归推算1号的年龄)

技术分享图片
1 def age(n):
2     if n == 1:
3         return 26
4     return age(n - 1) + 2
5 
6 
7 print(age(5))
View Code

 

以上是关于函数递归的主要内容,如果未能解决你的问题,请参考以下文章

vue递归组件的一些理解

哈斯克尔。我很困惑这个代码片段是如何工作的

如何在自定义PyYAML构造函数中处理递归?

JavaSE 方法的使用

JavaScript - 代码片段,Snippets,Gist

Java基础之方法的调用重载以及简单的递归