tail-recursion 相关问题

尾递归是一种递归策略,其中函数执行一些工作,然后调用自身。 “尾部”指的是递归位于函数的最后。许多 - 特别是功能 - 编程语言编译器可以将这些类型的调用转换为迭代,这意味着可以使用受支持语言中的尾递归而不必担心堆栈溢出,无论调用的数量如何。

为什么这个函数不尾递归?

我正在为类似结构的列表编写一个简单的contains方法。我希望针对尾递归进行优化,但无法弄清编译器为何抱怨。 Cons情况是尾递归,但...

回答 1 投票 0

递归函数来计算序列的平方和(并输出过程)

int SeriesToOne(int n){if(n == 1){cout <

回答 1 投票 0


使用AWS Lambda函数Python的递归API调用

我以前从未写过递归python脚本。我习惯将单片函数拆分为子AWS Lambda函数。但是,我正在使用的此特定脚本对...

回答 1 投票 0

Scala中的转换循环问题递归解决方案

我编写了以下方法inshuffle(工作得很好),该方法接受一个列表并返回in-shuffle的步数。它使用了两种我已经使用过的方法splitLists和shuffle ...

回答 1 投票 1

拖尾的尾递归实现

我正在对In_Shuffle使用递归,但传递给该方法的列表却与递归基本情况混淆。由于Scala不允许您修改传递的参数,因此我无法分配...

回答 1 投票 0

scala尾递归中的面向问题

我正在对In_Shuffle使用递归,但传递给该方法的列表却与递归基本情况混淆。由于Scala不允许您修改传递的参数,因此我无法分配...

回答 1 投票 0

将循环问题转换为Scala中的递归解

我编写了以下方法(工作得很好),该方法接受一个列表并返回包含元素的列表的列表,因此第一个列表包含列表元素的一半,下一个...

回答 2 投票 0

更改递归类型

[这是我正在写的一个示例json扩展递归:data = {'name':'randy smith','age':20,'address':{'street':'13301 parkwood','city': '纽约','...

回答 1 投票 0

Chage python递归类型

[这是我正在写的一个示例json扩展递归:data = {'name':'randy smith','age':20,'address':{'street':'13301 parkwood','city': '纽约','...

回答 1 投票 0

如何制作也可以以非尾递归方式引用自身的尾递归方法

假设我有一个用于长时间运行的计算的机制,该机制可以使自己暂停以待稍后恢复:密封特征LongRunning [+ R];案例类Result [+ R](结果:R)扩展LongRunning [R];情况...

回答 1 投票 3

列表说明:折叠功能

我对Erlang语言的了解越来越多,最近遇到了一些问题。我读到有关foldl(Fun,Acc0,List)-> Acc1函数的信息。我使用了learningyousomeerlang.com教程,其中有一个...

回答 2 投票 2

为什么Scala无法将其编译为尾递归?

如果将以下递归深度优先搜索函数的第一行替换为在foreach块中注释掉的行,它将无法编译为尾递归函数(由于...

回答 2 投票 0

一个仅使用一个参数的递归函数如何“计数”?

此功能的目的非常简单。仅使用一个int类型的参数,它以该参数指示的方式递归打印多行。第一行包含一个字符,第二行(假设...

回答 2 投票 -1

由于大输入的堆栈溢出,将通用递归转换为尾递归

我发现该算法适用于返回特定周长的可能三角形的数量的程序。我知道此问题还有其他方法,但是使用它们,我会得到以下时间限制错误...

回答 1 投票 0

嵌套递归调用-这是尾递归吗?

[我认为我理解了尾递归函数的教科书定义:该函数在函数调用后不执行任何计算。结果,我也得到一条尾巴...

回答 1 投票 0

天真地认为是有害的:具有累加器打击(全局)堆栈的Prolog谓词,但天真的版本则没有

我尝试了一些简单谓词的版本,该谓词将随机值从逻辑外的世界中提取出来并将其放入列表中。我假设带累加器的版本是...

回答 1 投票 0

尾递归优化:为什么'+'不允许这样做?

所以我看到的尾部递归的常见示例之一是:function factorial(x){if(x <= 0){return 1; } else {return x * factorial(x-1); //((A)}}一个是...

回答 1 投票 0

对于大输入,为什么尾递归阶乘的输出为零?

我是学习Kotlin的新手。我尝试在代码中使用尾部递归来计算阶乘,但是当我输入99999时,输出为0。这是我的代码:fun main(){println(factTailRec(99999))} ...

回答 1 投票 0

对于大输入,为什么尾递归阶乘的输出为零?

我是学习Kotlin的新手。我尝试在代码中使用尾部递归来计算阶乘,但是当我输入99999时,输出为0。这是我的代码:fun main(){println(factTailRec(99999))} ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.