腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
递归
循环式
函数
的简单尾叫
优化
javascript
我读过这些
递归
函数
可以用不同的方式编写,以避免调用堆栈中的这个问题(与“尾调用
优化
”有关.),但我不太清楚问题的所在。编辑:还是这已经
优化
了尾叫?(我看到了Node.
js
8.6和Chrome61中的错误,但Safari11并没有抱怨并返回“酷”。)
浏览 1
提问于2017-10-21
得票数 1
回答已采纳
2
回答
LLVM尾部调用
优化
llvm
、
tail-recursion
、
llvm-ir
以下是我对事物的理解:在使用fastcc、GHC或HiPE调用约定时,LLVM实现了
递归
尾部调用
优化
。假设上面的
函数
被适当地转换为LLVM,最后几行是否需要%m
浏览 0
提问于2013-09-04
得票数 7
回答已采纳
1
回答
对Scala中的@tailrec注释的需求?
scala
我理解
递归
函数
的问题和堆栈溢出问题的风险。 然而,如果一个
函数
能够被
优化
为尾部
递归
,那么为什么这个
优化
不自动应用于ie。为什么我需要标记一个可以用@tailrec
优化
的
函数
?
浏览 1
提问于2016-01-26
得票数 4
回答已采纳
3
回答
递归
与‘static`’关键字与GCC
c
、
gcc
、
recursion
、
static
我最近读到了几个被声明为static的
递归
函数
。 在
函数
声明前添加static对
优化
尾
递归
函数
有帮助吗?这是获得
优化
所必需的吗?
浏览 1
提问于2012-10-29
得票数 2
回答已采纳
1
回答
不进行尾部调用
优化
的尾
递归
recursion
、
optimization
、
tail-recursion
假设我们有两个版本的
递归
函数
,其中一个是尾
递归
函数
。如果所使用的语言没有尾部调用
优化
,那么使用
函数
尾
递归
有什么好处吗?据我所知,在没有
优化
的情况下,
函数
的每个版本(尾部和非尾部)将使用相同数量的堆栈框架(在大多数情况下)。我知道在某些情况下,例如Fibonacci
函数
,即使没有尾部调用
优化
,使用尾部调用也会更有效率,因为它避免了双重调用。但是,如果两个版本的
函数
都没有进行双重调用呢
浏览 14
提问于2021-03-01
得票数 0
2
回答
Oz中的尾
递归
优化
functional-programming
、
recursion
、
oz
在中,它说: fun {Map Xs F} of nil then nil [] X|Xr then {F X}|{Map Xr F}在其他语言中,这将不是
浏览 2
提问于2009-10-03
得票数 7
回答已采纳
5
回答
在科特林有什么意义?
kotlin
tailrec在有尾
递归
的地方
优化
函数
。为什么编译器不只是
优化
它呢? C编译器
优化
尾
递归
。您不必将该方法标记为有尾
递归
。编译器只是注意到最后一个操作是
递归
的。就是这样。
浏览 0
提问于2018-08-01
得票数 27
2
回答
函数
编程语言中的互
递归
函数
haskell
、
f#
、
functional-programming
、
ml
、
mutual-recursion
单个
递归
函数
可以对其进行尾
递归
优化
,以防止堆栈溢出,但相互
递归
函数
又如何呢?此演示如何在F#中定义相互
递归
的
函数
: G() F()另一方面,Haskell不需要
浏览 4
提问于2015-02-28
得票数 0
回答已采纳
2
回答
编译器是否保证
优化
由模板生成的
递归
代码?
c++
、
templates
、
optimization
、
c++11
、
recursion
Bjarne的包含以下单词: 我遗漏了什么? 我搞错了。在这个示例中,clang具有
优化
选项,编译代码和所有其他代码一样--以简单的方式(不
递归
)。但是,如果没有
优化
--所有这些仍然使用
递归
进行编译。
浏览 4
提问于2013-10-04
得票数 3
回答已采纳
4
回答
在VC++中堆栈的大小是多少?
c
、
recursion
、
stack
、
callstack
、
visual-c++
我想要关于VC++ (32位和64位)堆栈溢出的准确信息,特别是在
递归
中。在Debug模式下,这在
递归
中很快就会发生(就像4500运行一个简单的
递归
函数
不做任何事情或类似的事情)。这很难理解,我现在还没有测试它,因为
优化
删除了不做任何事情的代码(显然删除了
递归
),因为我的代码或
函数
是这样的。我应该做更多..。我在
优化
发布中衡量了正确的时间,我不知道
优化
在通过
递归
实现的更复杂的快速排序中是否也做了同样的事情? 谢谢!
浏览 0
提问于2012-12-22
得票数 5
回答已采纳
5
回答
在C#中,在算法中使用
递归
函数
是一种好的做法吗?
c#
、
algorithm
、
recursion
、
functional-programming
、
performance
在许多
函数
式语言中,使用
递归
被认为是一种很好的实践。我认为它很好,因为编译器
优化
了
函数
式语言的代码。 但是,在创建算法时,在C#中使用
递归
是一种好的实践吗?关于C#,
递归
算法会导致堆栈急剧增长(如果调用量非常大),这不会很快,可能会导致堆栈溢出,这是正确的吗?或者也有一些
优化
正在发生,以使
递归
函数
有效?如果您能在
函数
式语言和C#中使用
递归
的算法之间进行一些比较(速度、内存、可读性),我将不胜感激。
浏览 2
提问于2010-10-21
得票数 17
回答已采纳
1
回答
Idris使用尾调用
优化
吗?
tail-recursion
、
idris
Scala有尾调用
优化
( TCO ),如果编译器不能使用TCO
优化
递归
函数
,我可以告诉编译器停止。例如,请参见 。这个Scala
函数
成功地计算了String长度 case Nil => Nilcase x :: xs => x.length :: allLengths(xs)但是,如果我用annotation.tailrec注释它,编译器就会出错 错误:无法<e
浏览 2
提问于2020-06-30
得票数 4
2
回答
ES6尾
递归
优化
堆栈溢出
javascript
、
recursion
、
optimization
、
ecmascript-6
、
stack-overflow
在阅读了es6中
递归
尾部调用
优化
的之后,我一直在尝试重新创建他详细描述的
递归
阶乘
函数
的“零堆栈”执行。使用Chrome调试器在堆栈帧之间单步执行,我发现没有进行尾部
优化
,并且为每个
递归
创建了一个堆栈帧。下面是我的代码: const factorial = (n, acc
浏览 0
提问于2017-03-14
得票数 49
回答已采纳
2
回答
C++代码中的尾
递归
优化
c++
、
tail-recursion
我想看看尾
递归
优化
的影响,并想以尾
递归
优化
的方式编写简单的阶乘
函数
。有没有可能在没有编译器支持的情况下在代码中做到这一点?
浏览 0
提问于2011-10-05
得票数 1
回答已采纳
1
回答
递归
函数
是否有部分尾部调用
优化
?
c++
、
recursion
、
optimization
、
tail-recursion
如何在一个不是完全尾
递归
的
函数
上对g++进行尾部调用
优化
?== nullptr) return; cout << n->datum;} 这是foo(n->left)不是尾
递归
的,但是foo(n->right)是尾
递归
的。有没有办法对此进行
优化
?
浏览 1
提问于2016-12-04
得票数 1
6
回答
如何检查gcc是否正在执行尾
递归
优化
?
gcc
、
g++
、
tail-recursion
如何判断gcc (更具体地说,g++)是否在某个特定
函数
中
优化
尾
递归
?(因为它出现了几次:我不想测试gcc是否能在总体上
优化
尾部
递归
。我想知道它是否
优化
了我的尾
递归
函数
。)如果您的回答是“查看生成的汇编程序”,我想确切地知道我在寻找什么,以及我是否可以编写一个简单的程序来检查汇编程序,看看是否存在
优化
。 PS。我知道这是5个月前问题的一部分。(答案是“检查编译器是否进行了
优化
(据我所知)的最简单方法是执行调用,否则会
浏览 5
提问于2009-01-29
得票数 69
回答已采纳
3
回答
尾部调用和尾部
递归
有什么区别?
lisp
、
scheme
我知道尾
递归
是
函数
对自身进行尾部调用的一种特殊情况。但是我不明白尾部调用和尾部
递归
有什么不同。在具有实现TCO (尾部调用
优化
)的“正确尾部
递归
”语言中,如Scheme,这意味着尾部调用和尾部
递归
不会消耗堆栈或其他资源。在编译器不能
优化
尾
递归
语言中,程序可能会在堆栈之外运行并崩溃。在“正确的尾
递归
”语言中,我认为实现循环的尾
递归
并不比使用循环的效率低。
浏览 0
提问于2012-08-21
得票数 19
1
回答
当我在Chrome中打开一个THREE.
js
应用程序时,我的浏览器拖得不好
javascript
、
three.js
我正在用THREE.
js
构建一个小的2D游戏,我刚刚注意到,当我打开一个THREE.
js
应用程序的标签时,剩下的选项卡开始拖到蜗牛的速度。但是,当我切换制表符意味着THREE.
js
选项卡是隐藏的时,一切都恢复正常。有办法绕过这件事吗?我相信这很可能与
递归
运行的requestAnimationFrame(render)
函数
有关。关于如何
优化
THREE.
js
requestAnimationFrame,有什么建议吗?
浏览 0
提问于2020-07-31
得票数 1
回答已采纳
1
回答
部分尾
递归
函数
还能获得完全尾
递归
函数
的
优化
优势吗?
optimization
、
language-agnostic
、
partial
、
tail-recursion
有没有可能一个
函数
是部分尾
递归
的,并且仍然可以获得尾
递归
所带来的任何好处呢?据我所知,尾
递归
不是进行完整的
函数
调用,而是编译器对
函数
进行
优化
,只需将本地参数更改为新参数并跳到
函数
的开头即可。如果你有一个这样的
函数
: if arg == 0: return 3
浏览 5
提问于2011-08-23
得票数 1
回答已采纳
1
回答
chapel是否实现了尾部调用
优化
?
recursion
、
tail-recursion
、
chapel
Chapel支持
递归
函数
调用,但它是否支持尾部调用
优化
,以便尾部
递归
不使用额外的堆栈框架?
浏览 10
提问于2016-09-08
得票数 3
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
递归函数
函数的递归
Python匿名函数、递归函数
c语言-递归函数
Python之递归函数
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券