算法003_递归
2023-12-19 本文已影响0人
为宇绸缪
递归算法在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。
递归的两个特点:调用自身、结束条件
# 没有结束条件
def func1(x):
print(x)
func1(x - 1)
# 没有结束条件
def func2(x):
if x > 0:
print(x)
func2(x + 1)
def func3(x):
if x > 0:
print(x)
func3(x - 1)
def func4(x):
if x > 0:
func4(x - 1)
print(x)
func3 打印的是3、2、1,而 func4 打印的是 1、2、3
在下面的图中,使用框表示函数的执行,打印使用窄框来表示
函数的执行都是从上往下的
func3
func3 是先打印,后递归
func4
func4是先递归,后打印