Python递归的经典案例

前言:

  当我们碰到诸如需要求阶乘或斐波那契数列的问题时,使用普通的循环往往比较麻烦,但如果我们使用递归时,会简单许多,起到事半功倍的效果。这篇文章主要和大家分享一些和递归有关的经典案例,结合一些资料谈一下个人的理解,也借此加深自己对递归的理解和掌握一些递归基础的用法。

一、递归的简介

1、递归的百度百科定义 

 

2、递归的通俗理解

递归就是在函数内部调用自己的函数被称之为递归。

3、几个关于递归通俗的比喻

 

我想到一个比较接近我们生活的例子,和那个传本子的例子类似,比如你喜欢一个女孩,你想告诉她,但你和她座位隔得很远,你写好了纸条,想同学传过去,于是,你把纸条传给你前面的同学,然后同学又向前传,直到传到你喜欢的那个女孩手里,但是女孩已经有喜欢的人了,于是,她也写了一个纸条让原来的同学再传回来给你,那么同学之间打招呼传纸条的行为就可以看作是函数调用,你是最初调用的函数,那个你喜欢的女孩就是最终的目的地,纸条上的信息就是初始值和最终答案。

4、最简单的递归的实例

 

5、递归的特点

通过以上的介绍,我们大致可以总结出递归的以下几个特点:

 

关于递归还有两个名词,可以概括递归实现的过程

递推:像上边递归实现所拆解,递归每一次都是基于上一次进行下一次的执行,这叫递推

回溯:则是在遇到终止条件,则从最后往回返一级一级的把值返回来,这叫回溯

 

二、递归经典案例

1、递归求阶乘

实例如下:

 

2、递归推斐波那契数列

实例如下:

 

3、二分法找有序列表指定值

实例如下:

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值