gpt4 book ai didi

c++ - 除了生成斐波那契数列之外,还有什么好的递归示例?

转载 作者:IT老高 更新时间:2023-10-28 12:52:03 26 4
gpt4 key购买 nike

Possible Duplicates:
Real-world examples of recursion
Examples of Recursive functions

我看到大多数编程语言教程通过使用一个简单的例子来教授递归,即如何生成斐波那契数列,我的问题是,除了生成斐波那契数列之外,还有其他很好的例子来解释递归是如何工作的吗?

最佳答案

经典的是二叉树搜索:

def findval (node,val):
if node == null:
return null
if node.val = val:
return node
if node.val > val:
return findval (node.left,val)
return findval (node.right,val)

findval (root,thing_to_find)

这可能比一个简单的公式复杂一点,但它是递归的“面包和黄油”使用,它说明了使用它的最佳位置,即最小化递归级别。

我的意思是:您可以将两个非负数相加:

def add (a,b):
if b == 0:
return a
return add (a+1,b-1)

但是你会发现自己很快就会用完大量的堆栈空间(当然,除非编译器优化了尾端递归,但你可能应该忽略你关心的教学水平)。

关于c++ - 除了生成斐波那契数列之外,还有什么好的递归示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com