首页 > 其他 > 详细

函数的递归调用

时间:2020-03-25 19:35:08      阅读:39      评论:0      收藏:0      [点我收藏+]

一、定义:函数的递归调用是函数的嵌套调用的一种特殊形式,表现为在调用一个函数的过程中又直接或间接地调用了自身,实现了循环,所以说递归的本质就是循环。

def f1():
    f1()  # 自我循环调用

def f2():
    f3()
def f3():
    f2()
# 互相循环调用

二、递归调用实现的循环与while循环的区别:while循环可以通过保持条件永远为真实现无限循环,但是每次循环不会额外申请内存空间。递归调用每次都会申请新的局部空间,所以默认有上限次数1000,该次数可以修改。

三、递归调用的两个阶段

  1、回溯:一层层的调用直至满足终止条件的过程称为回溯。

  2、递推:从满足终止条件向外层逐层返回的过程称为递推。

def add(n):
    if n == 1:
        return 100
    return add(n - 1) + 1
print(add(6))  # 结果为 105
# add(6) = add(5) + 1
# add(5) = add(4) + 1
# add(4) = add(3) + 1
# add(3) = add(2) + 1
# add(2) = add(1) + 1 
# 以上是回溯过程
# add(1) = 100
# add(2) = 100 + 1 = 101
# add(3) = 101 + 1 = 102
# add(4) = 102 + 1 = 103
# add(5) = 103 + 1 = 104
# add(6) = 104 + 1 = 105
# 以上是递推过程

 

函数的递归调用

原文:https://www.cnblogs.com/caoyu080202201/p/12568553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!