大家学习的数学公式和语言公式也不少,在算法中,还有一个让人又爱又恨的算法,就是我们今天的主题,递归算法,大家对此可能不大了解,但是对于之前跟大家说过的斐波那契数列,不知道还有印象嘛,有时候,递归算法形同类似,一个斐波那契数列也可能是一个典型的递归算法,不相信的小伙伴可以来看下。
1、一个实例
1,1,2,3,5,8,( ),21... 求括号中的数字?
以上内容我们可以得到个公式
F (n) = F (n-1) + F (n-2)(n>=3,n∈N*)
这是一个斐波那契数列,也是一个典型的递归数列。
2、如何理解 “递归”?
● 递归条件
“递归条件”指的是自己调用自己,比如 F (n) = F (n-1) + F (n-2)
● 基线条件
在递归终止条件,不再调用自己,从而比避免进入死循环
3、递归的代码实例#!/usr/local/bin/pythons
一*- coding:utf-8-*
def fn(n):
if n== 1
return 1
if n== 2:
return 1
return fn(n-1+ fn(n-2)
for i in range(1, 10)
print(fn(0), end=,)
相信通过以上这么细致的描述,大家一定对递归算法有足够的了解了吧,从上述整个逻辑流程里我们可以获知,递归内容是非常简单整洁的,这是好处,但是也是弊端,要求我们对逻辑掌握非常强烈,好啦,大家好好把控吧~