什么是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

回到顶部