gpt4 book ai didi

recursion - 为什么永远的循环不会崩溃?为什么无限递归会崩溃?

转载 作者:行者123 更新时间:2023-12-01 22:59:30 25 4
gpt4 key购买 nike

我的问题是:为什么无限递归崩溃,而不是无限循环?它们都感觉像是普通的永久迭代器,但一个崩溃而另一个没有。我正在寻找硬件/低级响应。在使用 Python 在 Jupyter 上进行实验时,我通常会遇到 stackoverflow 错误。此外,当我指的是低级响应时,我指的是计算机硬件(RAM、CPU)中发生的导致无限递归崩溃的情况,而不是无限迭代。

最佳答案

因为无限递归不断将递归调用存储在堆栈中(这是您的应用程序持有的内存之一),所以它最终会完全填满堆栈,因此您会遇到经典的堆栈溢出错误。

在一个无限循环中,你不存储任何东西,你只是经常更新变量和类似的东西,它不会占用比这些变量已经占用的内存更多的内存,所以什么都不会中断。但是,如果您在循环内的内存中添加内容,例如将元素添加到循环内的列表,则可能会导致无限循环中断。

关于recursion - 为什么永远的循环不会崩溃?为什么无限递归会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72163003/

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