gpt4 book ai didi

recursion - 对于每个递归算法都可以创建等效的非递归版本吗?

转载 作者:行者123 更新时间:2023-12-01 13:03:05 26 4
gpt4 key购买 nike

递归很有趣。然而,在安全关键的应用程序中,它被认为是危险的事情(我想是因为堆栈溢出?)。

假设您需要处理您最喜欢的语言的子集,它不允许递归 - 这对您来说会是一场灾难吗?

正式问题:对于每个递归函数,都可以创建一个完全等效的非递归函数 - 是这样吗?有关于它的定理吗?

最佳答案

是的,每个这样的函数都可以重写为非递归函数。我不确定是否有正式的方法来做到这一点,但它在文献中被称为“递归展开”或“递归展开”。

在大多数情况下,要避免递归。特别是在上述系统中,MISRA-C 禁止递归。

在一些罕见的情况下,递归很方便并使代码更高效,一些二叉树实现等。

但是递归的主要目的是教给迷茫的学生,等他们有经验的时候再教给迷茫的学生,这样——...:)

关于recursion - 对于每个递归算法都可以创建等效的非递归版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4776410/

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