tail-recursion 相关问题

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

使用scanLeft打包符号

99个scala问题有这个问题:将列表元素的连续重复包装到子列表中。如果列表包含重复元素,则应将它们放在单独的子列表中。 ...

回答 5 投票 3

如何以堆栈安全的方式映射树?

递归映射树有不同的方法:const reduceTree =(f,node)=> {const go =([x,xs])=> f(x,xs.map(go)); return go(node); }; const mapTree =(f,node)=> ...

回答 1 投票 2

如何通过[重复]迭代此代码10次

这是一个问题:编写一个尾递归函数,它将两个非负整数P和k作为输入,并输出一个具有初始总体P和......的人口的前10年的列表。

回答 1 投票 0

使用尾递归来复制列表中的项目

我有一个家庭作业问题,要求我们编写一个谓词,创建列表中每个项目的副本,首先使用线性递归,然后使用尾递归。我们不能使用内置...

回答 1 投票 2

(Scheme)尾递归模幂运算

我有一个赋值来做一个尾递归函数,它取3个整数(可能非常大),p q和r,并计算除法的模数(p ^ q)/ r。我想出了如何做一个功能......

回答 1 投票 1

用于在图中生成所有拓扑排序的尾递归算法

给定一个图,我需要生成所有拓扑排序。例如,给出如下图:我想生成所有拓扑排序,它们是:2 4 7 5 2 7 4 5 2 4 5 7因为很多......

回答 2 投票 3

将递归函数转换为尾递归函数。尾递归的概念

我试图在haskell中转换一些递归函数。为了获得这种函数的一些经验,我试图理解尾递归的概念。为了得到一个线索,我想从...开始

回答 1 投票 -1

使用尾递归和匹配大小写来遍历Scala中的二叉树

我在scala中定义了一个case类作为case类Node(key:String,value:String,var left:Node,var right:Node),我试图使用尾递归和匹配大小写来遍历它,而不是...

回答 1 投票 0

在递归函数中用尾递归替换for循环

我试图让以下函数完全尾递归,例如得到那个讨厌的循环。原因是我试图轻松地将解决方案转换为迭代解决方案......

回答 2 投票 0

迭代过程与递归过程

通过SICP阅读Distilled并尝试围绕迭代与递归过程。给出的例子是:( defn + [a b](if(= a 0)b(inc(+(dec a)b))))(defn + [a b](if(= a ...)

回答 1 投票 5

C尾调用优化

我经常听到人们说C不执行尾部呼叫消除。虽然标准不能保证,但是无论如何,它是否在实践中通过任何体面的实现来执行?假设 ...

回答 8 投票 30

理解这个递归函数

我正在改变/改进这个递归函数。我的目的是添加一个全局类变量nrOfFails来存储搜索不成功的所有迭代。我称这个功能为......

回答 1 投票 1

递归问题 - 希望获得特定于我的代码的建议

我过去曾尝试过询问与此问题相关的建议,并且我被告知问题的根源是“尾递归”。人们指示我切向相关的帖子但我申请时遇到了麻烦......

回答 1 投票 0

Scala多态函数类型不匹配

当试图运行抽象数组类型的多态函数时,我得到一个类型不匹配的错误消息:类型不匹配:expected:(Int)=> Boolean,actual:Int ...

回答 1 投票 0

在Scala中编写阶乘尾递归函数

我试图用下面的方式写一个尾递归函数,但是编译器抛出一个错误:方法的参数太多了:(v1:Int)Int在trait中的函数1否则为factorial(x-1,...

回答 4 投票 1

CodingBat-递归编码

我正在尝试编码蝙蝠问题repeatFront:给定一个字符串和一个int n,返回由字符串的前n个字符组成的字符串,后跟字符串的前n-1个字符,...

回答 4 投票 0

堆栈的大小是多少 - java -xss16M分配16兆字节或16兆字节

我试图通过使用java -Xss160M命令限制分配给线程堆栈的大小来证明我正在使用尾递归。我正在写一个简单的尾递归算法......

回答 1 投票 -1

如何以递归方式思考?

为了理解贪婪方法和动态编程等高级算法概念,首先需要精通递归。我对递归比较新。每当......

回答 5 投票 11

如何为continuation monad实现stack-safe chainRec操作符?

我目前正在试验延续monad。 Cont实际上在Javascript中很有用,因为它从回调模式中抽象出来。当我们处理monadic递归时,总会有......

回答 2 投票 2

尾递归如何改变大O?

没有尾部优化:( define(my-length lst)(cond [(empty?lst)0] [else(+ 1(my-length(rest lst)))]))结果:(my-length(list“a “”b“”c“))=(+ 1(我的长度(列表”b“”c“)))=(+ 1(+ ...

回答 2 投票 0

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