Python 中的递归和回溯是什么?

pythonserver side programmingprogramming更新于 2023/11/10 5:41:00

递归 

递归在划分和解决问题时很有用。每个递归调用本身都会衍生出其他递归调用。递归函数的核心是两种类型的案例:基本案例,它告诉递归何时终止,以及调用它们所在函数的递归案例。自然使用递归解决方案的一个简单问题是计算阶乘。递归阶乘算法有两种情况:n = 0 时的基准情况,以及 n>0 时的递归情况。

回溯

回溯是一种用于寻找某些计算问题的解决方案的通用算法,它逐步为解决方案构建选择,并拒绝继续处理会导致不可能解决方案的轨迹。如果先前的选择被证明是错误的,回溯允许我们撤消它们。

阶乘的典型实现如下 -

示例

def factorial(n):
  #测试基本情况
     if n==0:
         return 1
         # 进行计算和递归调用
         f= n*factorial(n-1)
      print(f)
  return(f)
factorial(4)

此代码打印出数字 1、2、4、24。要计算阶乘 4,需要四次递归调用加上初始父调用。 


相关文章