tail-recursion

tail-recursion

文章 0 浏览 4

尾部调用优化有什么大不了的,为什么 Python 需要它?

显然,对于 Python 是否需要尾部调用优化 (TCO) 一直存在很大争议。 当有人向 Guido 发送了一份 SICP 副本时,事情就达到了紧要关头,因为他没有“明…

梦中的蝴蝶 2024-07-22 01:29:00 13 0

关于“gdb”下尾部优化代码的疑问

考虑 C 中的尾递归阶乘实现: #include unsigned long long factorial(unsigned long long fact_so_far, unsigned long long count, unsigned long lo…

岁月流歌 2024-07-21 08:21:31 9 0

避免堆栈溢出(使用 F# 无限序列序列)

我有一个为 f# 中的 morris seq 编写的“学习代码”,它遭受堆栈溢出的困扰,我不知道如何避免。 “morris”返回“看和说”序列的无限序列(即,{{1}…

妥活 2024-07-20 23:53:12 12 0

F# 中如何知道函数是否尾递归

我编写了以下函数: let str2lst str = let rec f s acc = match s with | "" -> acc | _ -> f (s.Substring 1) (s.[0]::acc) f str [] 如何知道 F# …

撩心不撩汉 2024-07-18 05:31:06 12 0

GHC 能够尾部调用优化 IO 操作吗?

GHC 会默认对以下函数执行尾调用优化吗? 唯一奇怪的是它递归地定义 IO 操作,但我不明白为什么这不能实现 TCO。 import Control.Concurrent.MVar con…

橘味果▽酱 2024-07-17 07:58:25 7 0

理解递归

我在学校里理解递归时遇到了很大的困难。 每当教授谈论它时,我似乎都明白了,但当我自己尝试时,我就彻底震惊了。 我整晚都在尝试解决河内塔,结果完…

你与清晨阳光 2024-07-16 14:15:06 7 0

我应该避免 iPhone 上的递归吗?

我应该避免在 iPhone 上运行的代码出现递归吗? 或者换句话说,有人知道 iPhone 上的最大堆栈大小吗?…

岁吢 2024-07-15 19:10:56 6 0

为什么 .NET/C# 不优化尾调用递归?

我发现这个问题关于哪些语言优化尾递归。 为什么 C# 尽可能不优化尾递归? 对于具体情况,为什么不将此方法优化为循环(Visual Studio 2008 32 位,如…

烂柯人 2024-07-12 12:52:31 7 0

尾部优化函数计算列表长度的最佳方法是什么?

这是论坛发帖者给出的一个例子,我不知道这个尾巴是否优化过。 另外,有人可以外行描述一下尾部优化版本如何胜过正常版本吗? (defun mylength (s) (l…

迷离° 2024-07-11 17:55:47 6 0

JVM 是否会阻止尾部调用优化?

我在这个问题上看到了这样的引用:什么是构建 Web 服务的良好函数式语言? Scala 特别不支持尾调用消除,除了自递归函数之外,这限制了您可以执行的组…

一百个冬季 2024-07-06 10:46:53 8 0

什么是尾递归?

在开始学习 lisp 时,我遇到了“尾递归”这个术语。 它到底是什么意思?…

樱花落人离去 2024-07-05 04:52:08 7 0

其中,如果有的话,C++ 编译器进行尾递归优化吗?

在我看来,在 C 和 C++ 中进行尾递归优化都可以很好地工作,但在调试时我似乎从未看到表明这种优化的帧堆栈。 这很好,因为堆栈告诉我递归的深度。 不…

橘虞初梦 2024-07-04 02:46:16 7 0
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文