Recursion in various periods (high school and high school, college discrete mathematics, python)

What does recursion do?
Answer: 1. Reduce the amount of code 2. Reuse code.
Recursion is similar to a for loop. It can be said that it is a kind of loop.
Recursion is a functional form: then this function will call itself
. There are conditional branches in this function.
Summary: If you use more, you will be familiar with it.

'''
如一副多米诺骨牌
你拿到手上的是其中多米诺骨牌
上面写着:1:总数2块(M块),
                 2:我的第2块,
                 3:前面的那块是我的1倍大小(或者N倍大小)

这里最重要的是什么?【冯洛伊曼-体系结构计算机的精髓 是什么?】
就是这块牌上面写着的东西【赋值】
问,前面那块和后面那块一样大吗?【n[k]==n[k+1]?】

递归的定义
链条:计算过程存在递归有序的链条关系
基例:存在一个或多个不再需要再次递归的基例
读到这里大概你应该已悟了。
高中数学的递归:
如:人教版高三数学选择性必修 第三册 2020  5.5 数学归纳法 的解释
数学归纳法(也叫递归)
证明当n取第一个值n[0]是命题成立
假设当n[k]是命题成立,证明当n=n[k+1]时命题也成立
递归的实现:
函数+分支语句
递归本身是一个函数,需要函数定义方式描述
函数内部,采用分支语句对输入参数进行判断
基例和链条,分别编写对应代码
大学数学的递归:
如:离散数学概论里面的归纳法
集合定义的方式:
1列举法,2描述法,3归纳法
归纳定义 inductive definition
基础条款:规定某些元素为待定义集合成员,集合其他元素可以从基本元素出发逐步确定
归纳条款:规定由已经确定的集合元素去进一步确定其他元素的规则
终极条款:规定待定义集合只含有基础条款和归纳条款的成员

代码复用与函数递归
算法:
1顺序执行
2条件分支执行
3循环执行

函数与分支语句组合:递归
递归本身是一个函数,需要函数定义方式描述(自己调用自己)
函数内部,采用分支语句对输入参数进行判断
基例和链条,分别编写对应的代码
'''
def fun(n):
    #先设置首要分支条件
    if n == 0:
        return 1
    else:
        return n*fun(n-1)
'''
然后计算机根据给出的公式一直计算下去,
我没有给出简易公式,那么它将会把这个草稿一直列下去
列出来的草稿需要地方存放,那么存放的地方是计算机内存(内存条/运行条)
当我把这个数弄的大一点,公式长一点,让它重新算
计算机存放计算过程的草稿不够地方了,术语叫溢出,它会放弃的。
一般python里面你可以设置997次递归,不然它就报错
'''
print(fun(997))

Guess you like

Origin blog.csdn.net/weixin_47021806/article/details/115036746