首页 > 编程知识 正文

递归python例子,python递归函数详解

时间:2023-05-06 06:51:58 阅读:220132 作者:3137

递归的定义

递归就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。

递归常与分治思想同时使用,能产生许多高校的算法。递归常用来解决结构相似的问题。所谓结构相似,是指构成原问题的子问题与原问题在结构上相似,可以用类似的方法解决。具体地,整个问题的解决,可以分为两部分:第一部分是一些特殊情况,有直接的解法;第二部分与原问题相似,但比原问题的规模小,并且依赖第一部分的结果。。实际上,递归是把一个不能或不好解决的大问题转化成一个或几个小问题,再把这些小问题进一步分解成更小的小问题,直至每个小问题都可以直接解决。因此,递归有两个基本要素:

(1) 边界条件:确定递归到何时终止,也称为递归出口。

(2) 递归模式:大问题是如何分解为小问题的,也称为递归体。

递归函数只有具备了这两个要素,才能在有限次计算后得出结果。

递归算法实例?

整数n的阶乘 ?

?阶乘的定义如下图:

?用python实现以上求阶乘的算法:

?运行结果:

?斐波拉契数列

斐波拉契数列,是这样的一个数列:0、1、1、2、3、5、8、13、21、……。

斐波拉契数列的核心思想是: 从第三项起,每一项都等于前两项的和,即F(N) = F(N - 1) + F(N - 2) (N

>= 2) 并且规定F(0) = 0,F(1) = 1

利用递归算法获得指定项的斐波拉契数列。

??运行结果:

?

Reference :

http://blog.csdn.net/SeeTheWorld518/article/details/47957183

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。