tail-recursion

tail-recursion

文章 0 浏览 3

生成 .tail IL 指令的简单 F# 代码是什么?

我希望看到 .tail IL 指令,但我一直在编写的使用尾部调用的简单递归函数显然已优化为循环。我实际上是在猜测这一点,因为我不完全确定反射器中的循环…

红焚 2024-09-04 12:14:54 12 0

了解 F# 尾递归

最近在学习F#。 我尝试以不同的方式解决问题。 像这样: (* [0;1;2;3;4;5;6;7;8] -> [(0,1,2);(3,4,5);(6,7,8)] *) //head-recursive let rec toTripl…

以可爱出名 2024-09-03 20:47:17 5 0

为什么 s ++大s不会导致堆栈溢出吗?

我想知道为什么 Prelude> head $ reverse $ [1..10000000] ++ [99] 99 不会导致堆栈溢出错误。前奏中的 ++ 看起来很简单并且非尾递归: (++) :: [a] -…

我恋#小黄人 2024-09-02 04:23:29 10 0

如何实现尾递归列表追加?

像这样的简单追加函数(在 F# 中): let rec app s t = match s with | [] -> t | (x::ss) -> x :: (app ss t) 当 s 变大时将会崩溃,因为该函数不是…

狂之美人 2024-09-02 03:43:54 7 0

最佳功能方法

我有一些可变的 scala 代码,我正在尝试以更实用的风格重写它们。这是一段相当复杂的代码,所以我试图将其分成几部分进行重构。我的第一个想法是: de…

忆依然 2024-09-01 14:40:55 13 0

在 F# 中生成斐波那契数列

我刚刚开始使用 VS2010 学习 F#,下面是我第一次尝试生成斐波那契数列。我想做的是建立一个包含小于 400 的所有数字的列表。 let fabList = let l = […

淤浪 2024-09-01 09:57:49 11 0

如何使这个 Haskell 幂函数尾递归?

我如何使这个 Haskell 幂函数尾递归? turboPower a 0 = 1 turboPower a b | even b = turboPower (a*a) (b `div` 2) | otherwise = a * turboPower a…

冰葑 2024-08-31 00:31:27 10 0

寻找一个典型的树递归变成尾递归形式的例子

嵌套列表上的诸如展平、计数原子等任何东西都可以。 顺便说一句,我对 CPS 转换或“对树”不感兴趣。…

热血少△年 2024-08-30 08:43:33 5 0

尾部调用优化失败时 Clojure 警告/错误

在 Scala 2.8.x 中,添加了一个新注释 (@tailrec),如果编译器无法对带注释的方法执行尾部调用优化,则会给出编译时错误。 Clojure 中是否有关于循环/…

三生池水覆流年 2024-08-30 06:11:46 10 0

方案。尾递归?

下面提到的伪代码有任何尾递归版本吗?谢谢 ! (define (min list) (cond ((null? list) '()) ((null? (cdr list)) (car list)) (#t (let ((a (car li…

不必了 2024-08-30 03:07:15 7 0

C++ 中的尾递归

有人可以向我展示一个简单的 C++ 尾递归函数吗? 如果尾递归更好的话,为什么它更好呢? 除了尾递归之外,还有哪些递归?…

嗫嚅 2024-08-29 17:40:53 7 0

带有回忆的尾部回复POW()算法?

我正在寻找一种计算 pow() 的算法,该算法是尾递归的,并使用记忆来加速重复计算。 性能不是问题;这主要是一项智力练习 - 我花了一趟火车想出了所有…

雨夜星沙 2024-08-27 19:59:12 14 0

OCaml 中的尾递归合并排序

我正在尝试在 OCaml 中实现尾递归列表排序函数,并且我想出了以下代码: let tailrec_merge_sort l = let split l = let rec _split source left righ…

宣告ˉ结束 2024-08-26 18:41:40 8 0

递归调和函数返回 NaN

我编写了以下示例代码来查找 N 的谐波值(1+1/2+1/3+...1/N)。阅读以粗体编写的代码中的注释,帮助我找出为什么会发生这种情况。 #include float har…

海风掠过北极光 2024-08-23 17:12:08 10 0

Clojure 中的尾调用消除?

有人可以将这个 (plt) 方案代码重写为 Clojure 吗? (define (f n) (printf "(f ~a)~n" n) (g n)) (define (g n) (printf "(g ~a)~n" n) (h n)) (defi…

黯然 2024-08-20 02:45:26 7 0
更多

推荐作者

胡图图

文章 0 评论 0

zt006

文章 0 评论 0

z祗昰~

文章 0 评论 0

冰葑

文章 0 评论 0

野の

文章 0 评论 0

天空

文章 0 评论 0

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