什么是Python中的递归和回溯?
递归
递归对于划分和解决问题很有用。每个递归调用本身都会派生其他递归调用。递归函数的中心是两种类型的情况:基本情况(它告诉递归何时终止)和递归情况(调用它们所在的函数)。自然使用递归解的一个简单问题是计算阶乘。递归阶乘算法有两种情况:n = 0时的基本情况和n> 0时的递归情况。
回溯
回溯是一种用于找到某些计算问题的解决方案的通用算法,它会逐步建立对解决方案的选择,并拒绝继续处理会导致无法解决的轨道。回溯使我们可以撤销以前的选择,如果发现它们是错误的。
阶乘的典型实现如下:
示例
def factorial(n):#test for a base case
if n==0:
return 1
# make a calculation and a recursive call
f= n*factorial(n-1)
print(f)
return(f)
factorial(4)
此代码输出数字1、2、4、24。要计算阶乘4,需要四个递归调用加上初始父调用。
以上是 什么是Python中的递归和回溯? 的全部内容, 来源链接: utcz.com/z/327031.html