这都不会,还学什么Python?利用栈和队列模拟递归

下面从一个尽量贴近一个初学者的角度,给大家细致入微的了解一下Python的递归。

一、递归

递归调用:一个函数,调用的自身,称为递归调用

递归函数:一个可以调用自身的函数称为递归函数

凡是循环能干的事,递归都能干

方法:

1、写出临界条件

2、找这一次和上一次的关系

3、假设当前函数已经能用,调用自身计算上一次的结果再求出本次的结果

下面我们通过两段代码简单看一下递归和非递归的区别:

输入一个大于等于1的数,求1到n的和!

下面看一下通过递归的方法:

在实际应用中,递归是十分消耗内存的,但是有些事情他很容易去做,很容易理解。下面,就通过一个案例介绍一下递归的用法。

二、递归遍历目录

下面的内容我就通过解释代码来讲解了,如果哪里讲的不清楚,欢迎大家下方评论提意见。

三、栈模拟递归遍历目录(深度遍历)

四、队列模拟递归遍历目录(广度遍历)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181019A1FF6M00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券