腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
是否
可以
使用
延续
传递
方式
将此
递归
函数
转
换为
尾
递归
函数
?
recursion
、
f#
、
monads
、
tail-recursion
我想提醒自己如何
使用
免费的单体,所以我想转换我的ETL作为这样。注意:我在这里的意图不是写一个更好的ETL,而是让我自己重新熟悉免费的monads。有人评论说,我的
递归
函数
可以
使用
延续
传递
风格来实现
尾
递归
。我想不出该怎么做。Pure of 'a | Free x -> x |> mapI (bind f) |> Free | Pure x -> f
浏览 13
提问于2019-02-14
得票数 2
回答已采纳
1
回答
一般说来,在JavaScript中
使用
手动堆栈的
递归
函数
中
是否
有可能转换?
javascript
、
recursion
count(n) { return 0; return 1 + count(n - 1);} 它是从0到N的最简单的
递归
函数
由于JavaScript的堆栈限制很小,所以该
函数
很容易溢出。通常,任何
递归
函数
都
可以
转
换为
使用
手动堆栈的
函数
,因此不能堆栈溢出;但是这样做很复杂。在一般情况下,
是否
有可能将JavaScript
递归</em
浏览 2
提问于2020-06-04
得票数 2
2
回答
使用
延续
将二进制
递归
转
换为
尾
递归
f#
、
functional-programming
、
ocaml
、
tail-recursion
、
continuations
-> () -> f x通过
使用
连续,遍历二进制的二进制
递归
已转
换为
尾
递归
函数
processSteps。我的问题是,另一个
函数
linearize似乎是非
尾
递归
的。这
是否
意味着即使
使用
延续
,我们也不能将二
浏览 0
提问于2012-03-02
得票数 4
回答已采纳
1
回答
如何将
递归
转
换为
迭代代码(ADLS和Databricks)
python
、
databricks
、
azure-data-lake-gen2
我已经尝试了一个
使用
递归
的解决方案,但我已经达到了允许的最大
递归
。我需要帮助做一个迭代的解决方案。
浏览 19
提问于2021-10-13
得票数 0
1
回答
如何在
函数
式程序中实现
尾
递归
recursion
、
functional-programming
、
scheme
、
lisp
、
common-lisp
现在,我可能有点聪明,改用
延续
传递
风格: (if (null?,但在
递归
过程中建立的中间
延续
仍然必须保存在某个地方。因此,虽然我可能不会破坏堆栈,但我仍然
使用
与第一个版本一样多的内存,而且不知何故,我感觉首先收集大量的
延续
堆,然后一举解开它们,这应该不利于性能,尽管第二个版本实际上在我的机器上要快得多。但是,如果左折叠
可以
在恒定空间中运行(减去累加值),并且列表
浏览 2
提问于2015-03-11
得票数 3
2
回答
将
递归
函数
转
换为
尾
递归
haskell
、
recursion
在编写
递归
函数
时,我自然地以
递归
或
尾
递归
的
方式
编写它们,而不自觉地选择一个而另一个。 addOne [] = [] a
浏览 0
提问于2013-02-24
得票数 2
回答已采纳
5
回答
是否
存在不能
使用
尾
递归
编写的问题?
functional-programming
、
recursion
、
tail-recursion
尾
递归
是
函数
式语言中一种重要的性能优化策略,因为它允许
递归
调用消耗常量堆栈(而不是O(n))。 有没有什么问题根本不能用
尾
递归
风格来编写,或者总是
可以
把一个简单的
递归
函数
转换成一个
尾
递归
函数
?如果是这样的话,有一天
函数
式编译器和解释器
是否
足够智能,
可以
自动执行转换?
浏览 0
提问于2009-12-11
得票数 53
回答已采纳
2
回答
使用
ContinuationMonad的100000阶乘有什么问题?
f#
、
monads
、
tail-recursion
、
continuations
它具有很强的可描述性,是一种
使用
递归
的强大技术。
尾
递归
提供了比普通
递归
更强大的计算能力,因为它将
递归
转
换为
迭代。连续
传递
方式
(CPS)
可以
将大量的循环代码转
换为
尾
递归
.
延续
Monad提供
递归
语法,但本质上是
尾
递归
,即迭代。对于100000的阶乘,应该合理地
使用
延拓Monad。
浏览 2
提问于2013-09-27
得票数 3
回答已采纳
2
回答
这个实现是
尾
递归
的吗
algorithm
、
ocaml
、
tail-recursion
我在一本算法书中读到,Ackermann
函数
不能成为
尾
递归
(他们说的是“它不能转
换为
迭代”)。我的问题是,我不确定这是不是真正的
尾
递归
。你能确认是这样的吗?若否,原因为何?最后,当人们说Ackermann
函数
不是原生
递归
时,这是什么意思? 谢谢!
浏览 1
提问于2010-12-13
得票数 8
回答已采纳
2
回答
尾
递归
仅仅是CPS的特例吗?
javascript
、
tail-recursion
、
continuations
我以
尾
递归
和连续
传递
的
方式
实现了map。return cc(rec([])(rec));与cc(acc)(rec)不同,我显然也
可以
编写我的结论正确吗,
尾
递归
只是CPS的一个特例,用var rec = acc => {...}编写的var rec = acc => {...}是一个适当的CPS
函数
?
浏览 0
提问于2016-01-28
得票数 3
回答已采纳
2
回答
延续
传递
风格让事情变得尾部
递归
吗?
recursion
、
scheme
、
tail-recursion
、
towers-of-hanoi
我的第一个解决方案是不完整的,因为如果
使用
太多磁盘运行,会导致: (lambda (n from to other) (hanoi (- n 1) to我在某处读到,
延续
传递
风格
可以
解决这个问题
浏览 0
提问于2011-07-25
得票数 4
回答已采纳
1
回答
将“几乎尾部位置”中的
递归
调用移动到真正的
尾
位置
recursion
、
functional-programming
、
theory
、
tail-recursion
、
compiler-theory
1)triangle' :: Int -> Int where innerTriangle(x * 2)) of False -> someOtherActi
浏览 4
提问于2016-03-09
得票数 3
回答已采纳
2
回答
如果我
可以
用foldl定义一个
函数
,它会使它成为
尾
递归
吗?
haskell
、
functional-programming
在我的
函数
式编程课程中,我被分配了一个任务,要求我重写几个
函数
,比如map和filter,使其成为
尾
递归
函数
。 我还不是100%确定该怎么做,但我知道你
可以
通过调用foldr和foldl来定义
函数
。我知道foldl是
尾
递归
的,所以如果我
可以
用foldl定义filter,它也会变成
尾
递归
吗?
浏览 3
提问于2015-10-13
得票数 1
7
回答
所有
递归
函数
都
可以
重写为
尾
递归
吗?
algorithm
、
recursion
、
tail-recursion
可能重复: 那么,
是否
有可能
使用
尾
递归
来实现所有
递归
函数
呢?像DFS这样的东西怎么样?
浏览 0
提问于2012-07-30
得票数 20
回答已采纳
2
回答
这个方案
函数
是
递归
的吗?
recursion
、
scheme
、
lisp
给定以下
函数
,允许我说它是
递归
的吗?我问这个问题的原因是因为'fac‘
函数
实际上并不
递归
地调用它自己,所以我仍然
可以
说它是一个
递归
函数
,即使唯一调用它自己的
函数
是fac吗?
浏览 3
提问于2022-10-09
得票数 0
1
回答
当scala中没有
尾
递归
优化时堆栈溢出?
scala
、
tail-recursion
在编译器的源代码中,有许多
尾
递归
函数
/方法.从源代码构建scala编译器还需要编译编译器本身的源代码。如果在编译源代码期间添加选项-g:notailcalls来关闭
尾
递归
优化,则在运行构建的编译器时会出现statck溢出错误。总之,在一个具有许多
递归
调用的大型复杂scala程序中,在编译时省略
尾
递归
优化会在运行时导致堆栈溢出错误吗?
浏览 2
提问于2015-09-04
得票数 1
回答已采纳
3
回答
使用
尾
递归
访问树或图结构
c++
、
algorithm
、
graph
、
tree
、
tail-recursion
假设我要以
递归
的
方式
访问一个结构。setVisited(n); visit(child_node);根据此,在以下情况下
可以
发生
尾
递归
: 只有一个
递归
调用,调用是
函数
中的最后一个语句。在上面的伪代码中,
递归
调用是最后一个语句,但是有多个
递归
调用,因
浏览 6
提问于2012-01-23
得票数 8
回答已采纳
4
回答
将
递归
转
换为
尾
递归
algorithm
、
recursion
、
tail-recursion
我有一个关于如何将“
递归
”转
换为
“
尾
递归
”的问题。我的代码如下所示(我
使用
Perl只是为了使其简单,但
可以
很容易地转
换为
C/Java/C++)。
浏览 2
提问于2013-03-21
得票数 17
回答已采纳
1
回答
Idris
使用
尾
调用优化吗?
tail-recursion
、
idris
Scala有
尾
调用优化( TCO ),如果编译器不能
使用
TCO优化
递归
函数
,我
可以
告诉编译器停止。例如,请参见 。
使用
@tailrec,Scala通过将代码转
换为
不存在
递归
错误风险的命令式循环来编译代码。我相信,作为一个命令式循环,它也可能更快。x :: allLengths xs 它
可以
用total注释编译,而且我似乎不会导致
递归
错误(尽管allLengths (replicate 5000 "hi&qu
浏览 2
提问于2020-06-30
得票数 4
1
回答
有没有一个
使用
堆栈帧是不可避免的(不能完全
尾
递归
)的
递归
函数
/算法?
algorithm
、
recursion
、
tail-recursion
我正在尝试想出一些
递归
算法/
函数
的例子,这些
递归
算法/
函数
不能以避免
使用
大量堆栈内存的
方式
重写(例如,不能完全
尾
递归
,也不能
使用
不
使用
堆栈的循环重写)。这样的
函数
存在吗?我认为快速排序可能是一个候选,但不确定它
是否
可以
重写为
使用
单个
尾
递归
函数
调用。
浏览 2
提问于2013-09-19
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
周而复始,往复循环,递归、尾递归算法与无限极层级结构的探究和使用(Golang1.18)
从0到1学算法
从Java到Kotlin(五)
《算法图解》读书笔记 Chapter 3
每日一道c语言编程题,第28题,递归方法转换数字为字符串
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券