深入理解递归,是你误解了递归
发布时间:2019-09-17 06:32:40 所属栏目:优化 来源:源理君
导读:副标题#e# 递归是一个神奇的算法,它是编程书籍中讲解的最尴尬部分。这些书籍通常会展示一个递归的阶乘实现,然后警告你,虽然它能运行但是它非常的慢并且可能会堆栈溢出而崩溃。虽然大家对它持怀疑态度,但是这不影响递归是算法中最强大的想法。 让我们来
正如我们所看到的,栈很大,并且在栈空间之前经常会遇到其他约束。还可以检查问题的大小并确保可以安全地处理。CPU担心主要是由两个广泛的病理学例子灌输:愚蠢的因子和可靠的O(2 n) 递归Fibonacci没有记忆。这些并不表示理智的堆栈递归算法。 现实情况是栈操作很快。数据的偏移是准确的,栈在缓存中,不需要冷启动,并且有专门的指令来完成工作。同时,使用您自己的堆分配数据结构会产生大量开销。会看到其他人编写的东西比调用堆栈递归更复杂,性能更差。 现代CPU 非常优秀了,通常不是瓶颈。简单往往和性能等同。
(编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐