腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
3
回答
尾部
调用
和
尾部
递归
有什么区别?
、
我知道
尾
递归
是函数对自身进行
尾部
调用
的
一种特殊情况。但是我不明白
尾部
调用
和
尾部
递归
有什么不同。在具有实现TCO (
尾部
调用
优化
)
的
“正确
尾部
递归
”语言中,如Scheme,这意味着
尾部
调用
和
尾部
递归
不会消耗堆栈或其他资源。在编译器不能
优化
<e
浏览 0
提问于2012-08-21
得票数 19
1
回答
不进行
尾部
调用
优化
的
尾
递归
、
、
假设我们有两个版本
的
递归
函数,其中一个是
尾
递归
函数。如果所使用
的
语言没有
尾部
调用
优化
,那么使用函数
尾
递归
有什么好处吗?据我所知,在没有
优化
的
情况下,函数
的
每个版本(
尾部
和非
尾部
)将使用相同数量
的
堆栈框架(在大多数情况下)。我知道在某些情况下,例如Fibonacci函数,即使没有
尾部
调用
浏览 14
提问于2021-03-01
得票数 0
2
回答
LLVM
尾部
调用
优化
、
、
以下是我对事物
的
理解:在使用fastcc、GHC或HiPE
调用
约定时,LLVM实现了
递归</e
浏览 0
提问于2013-09-04
得票数 7
回答已采纳
1
回答
递归
函数是否有部分
尾部
调用
优化
?
、
、
、
如何在一个不是完全
尾
递归
的
函数上对g++进行
尾部
调用
优化
?n == nullptr) return; cout << n->datum;} 这是foo(n->left)不是
尾
递归
的
,但是foo(n->right)是
尾
递归
的
。有没有办法对此进行
优化<
浏览 1
提问于2016-12-04
得票数 1
2
回答
尾
叫
优化
是否适用于这个函数?
、
、
、
,
尾
递归
优化
将使用
调用
方
的
堆栈。但是,如果堆栈大小和布局完全不同,并且被
调用
者可能是具有不同堆栈布局
的
多个不同函数之一,那么会发生什么呢? 第一,会否是
尾部
递归
?(现在,我了解了
尾
“
调用
”
优化
可以应用于但这不是
尾
“
递归
”)。第二,gcc、clang等主要编译器会不会
优化
这种
尾部
调用
?(答案似乎
浏览 0
提问于2018-03-21
得票数 1
回答已采纳
2
回答
是否可以将使用TailCall .net操作码
的
F#函数视为
尾
递归
函数
、
、
、
既然.net有操作码,这能用来判断一个F#函数是否真的是
尾
递归
的
吗? 如果这是真的,有没有人做了一个识别
尾部
和非
尾部
函数
的
VS插件?
浏览 0
提问于2012-03-14
得票数 4
回答已采纳
1
回答
Google应用程序脚本(GAS)是否支持正确
的
尾
调用
或
尾
调用
优化
?
、
、
、
因此,我理解Google脚本使用ES2015 (ES6)版本
的
JavaScript规范(,),运行。 正确
的
浏览 15
提问于2022-04-14
得票数 0
回答已采纳
4
回答
无法在Scala中编写
尾
递归
中
的
方法
、
Int = list.head * 2 } else { }这给了我以下
的
编译错误无法
优化
带@tailrec批注
的
方法sampleTailRec:它包含不在
尾部
位置列表(值) ++ sampleTailRec(list.drop(1))中
的
递归
调用
不能理解为什么我
的</
浏览 1
提问于2014-07-09
得票数 0
1
回答
有没有办法告诉scala编译器不要做
尾部
调用
优化
?
仅出于实验目的,我想停止编译器对
尾
递归
函数进行
尾部
调用
优化
。有没有办法做到这一点?
浏览 3
提问于2021-04-22
得票数 1
1
回答
Idris使用
尾
调用
优化
吗?
、
我是从斯卡拉来
的
。Scala有
尾
调用
优化
( TCO ),如果编译器不能使用TCO
优化
递归
函数,我可以告诉编译器停止。例如,请参见 。@ tail zip注释
的
方法zip:它包含一个不位于
尾部
位置
的
递归
调用
因为函数不直接返回对allLengths
的
调用
。如果我用一个非常长
的
List运行它(没有注释),我就会得到"ERROR:太多<
浏览 2
提问于2020-06-30
得票数 4
2
回答
Oz中
的
尾
递归
优化
、
、
在中,它说: fun {Map Xs F} of nil then nilend 这样做
的</
浏览 2
提问于2009-10-03
得票数 7
回答已采纳
2
回答
这是
尾
递归
吗?
我写了一个函数来计算整数
的
幂,然后取模数。我想知道我做
的
是不是
尾部
递归
: int resultint mod(int x, int modul){ x += modul;} 这是另一个纯粹使用
递归
的
函数正如我所尝试
的
那
浏览 1
提问于2011-02-19
得票数 1
回答已采纳
3
回答
java中
的
尾
递归
这是一个展示
尾
递归
的
好例子吗?public printName(){ printName();我不打算在现实生活中这样做,但我把这个作为我考试
的
一个例子这个是正确
的
吗?
浏览 0
提问于2012-07-21
得票数 4
1
回答
Swift
4中
的
尾
递归
(
尾部
调用
优化
)
、
我尝试在
Swift
中执行以下简单函数: func sum (n: Int, currentSum: Int = 0) -> Int { sum(n: n-1, } 我预计编译器会使用
尾
递归
优化
有没有我需要设置
的
标志来让编译器做这样
的
优化
,我在代码上犯了什么
浏览 38
提问于2019-03-06
得票数 4
回答已采纳
3
回答
为什么Scala不使用try/catch
优化
尾
调用
?
、
、
在中,我给出了以下
递归
代码: try { } catch { retry(n - 1)(fn)}无法
优化
@ tail not注释
的
方法重试:它包含一个不位于
尾部
位置
的
递归
调用
。我能够破解一个
尾
递归
替代方案,
浏览 4
提问于2011-11-22
得票数 18
回答已采纳
2
回答
即使有多个不同
的
递归
调用
,函数也能被
优化
为
尾
递归
吗?
、
2L) n 但是,由于有2条执行路径可能导致对findLargestPrimeFactor
的
不同
调用
,所以我不确定它是否能够为
尾
递归
进行
优化
。findLargestPrimeFactor p' n' 由于只有一条路径会导致对findLargestPrimeFactor<em
浏览 1
提问于2013-02-22
得票数 6
回答已采纳
1
回答
我们可以通过
尾部
递归
来
优化
随机快速排序吗?
、
、
我知道我们可以通过利用
尾
递归
来
优化
快速排序,方法是删除1个以上
的
递归
调用
,并将其减少为一次
递归
调用
: void quickSort(int arr[], int low, int high) high = high; } } 但是我们能用
尾部
递归
<em
浏览 24
提问于2021-07-22
得票数 0
5
回答
在Erlang中使用大量
的
尾
递归
会降低速度吗?
、
我最近一直在读关于Erlang
的
文章,以及由于使用迭代循环
的
困难,
尾
递归
是如何被大量使用
的
。
递归
的
频繁使用不会减慢它
的
速度吗?所有的函数
调用
和它们对堆栈
的
影响会怎样呢?或者,
尾
递归
会否定大部分吗?
浏览 0
提问于2009-07-09
得票数 8
回答已采纳
1
回答
如何
优化
递推函数
的
Scala双
调用
、
、
我试着让这个
递归
功能发挥作用:def rec(n: BigInt): BigInt = { else if (n == 1) 1} 如何对其进行
优化
,以使其与
尾部
协同工
浏览 1
提问于2017-03-10
得票数 2
回答已采纳
2
回答
java是否支持并
优化
了
尾
递归
调用
?
、
、
、
、
假设我得到了一个
尾部
递归
的
递归
函数。我想知道这个函数是否会被实现为
递归
,在堆栈上增长,还是会被更改为循环(因为它是一个
尾
递归
函数)?我刚刚读到Scala会检测到这类
调用
并对其进行
优化
,但这是Scala独有的还是一般意义上
的
JVM?
浏览 85
提问于2013-12-29
得票数 26
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券