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

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

更多Python相关文章,请阅读:Python 教程

递归

递归在分割和解决问题时非常有用。每个递归调用本身会产生其他递归调用。递归函数的核心有两种类型的情况:基本情况,用于告诉递归何时终止,和调用它们的递归情况。一个自然使用递归解决方案的简单问题是计算阶乘。递归阶乘算法有两种情况:当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需要四个递归调用以及最初的父调用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程