腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(2369)
视频
沙龙
2
回答
OCaml
中的尾
递归
归并
排序
、
、
我正在尝试在
OCaml
中实现一个尾
递归
列表
排序
函数,并编写了以下代码: let split l = in sort l然而,它似乎并不是真正的尾
递归
,因为我遇到了“求值过程中的堆栈溢出(循环
递归
?)”。你能帮我找出这段代码中的非尾
递
浏览 0
提问于2010-03-27
得票数 8
回答已采纳
1
回答
OCAML
尾部
递归
合并
排序
、
、
我有一些用
OCaml
编写的代码,其中我试图创建一个函数,该函数接受一个列表并通过
合并
排序
对其进行
排序
。[])let (l1,l2) = split ls ([],[]) in merge (msort l1) (msort l2);; 当我尝试编译代码时,它显示“计算期间堆栈溢出(循环
递归
我想知道如何更改主体,使其不会无限
递归
,并想知道如何以及在哪里添加基本案例到主体。谢谢!
浏览 13
提问于2020-09-22
得票数 0
1
回答
有人能像我五岁一样解释
OCaml
尾巴回溯吗?
我不能把我的大脑绕在
尾部
递归
,特别是在
ocaml
中,也不能解释为什么在结尾调用" in“函数。我说的是最基本的
尾部
递归
函数。
浏览 2
提问于2022-02-14
得票数 1
回答已采纳
1
回答
OCaml
:快速
排序
-
尾部
递归
,无限循环?
、
、
当我编译我的代码是正常的,但当我调用并执行函数Quicksort时,程序似乎处于无限循环中。我能做些什么?我测试了所有的函数,但似乎问题出在tQuicksort函数中。我是个初学者。 match l with | x::xs -> x;; match l with | x::xs -> xs;;
浏览 10
提问于2017-07-14
得票数 2
回答已采纳
1
回答
Ocaml
尾部
递归
版本
我试图让它成为尾
递归
(zip_with_2_fs_tr),但我真的不知道我在做什么。我是
Ocaml
的新手,希望对尾
递归
和助手函数有更深入的了解。
浏览 11
提问于2021-05-05
得票数 0
2
回答
在
OCaml
中连接字符串
、
、
、
我正在编写一个
递归
OCaml
函数,它将字符串列表中的字符串用分隔符连接起来,而不是在最后一项上放置分隔符,但是我遇到了一些问题。我知道有一个string.concat函数,但我不喜欢使用它,以便了解
OCaml
如何在幕后执行这些操作。end我使用模式匹配来匹配字符串列表l,并涵盖三种情况:如果字符串列表为空,则案例1不返回任何内容;如果列表不包含
尾部
,则案例2仅返回头部。Tail three执行连接,同时在连接函数上
递归
,以连接列表中的其他项,并在其间使用字符串分隔符。然而,我不确定如何实现这一点,同
浏览 1
提问于2018-09-11
得票数 2
1
回答
什么是
尾部
递归
解决方案的反面?
、
我正在解决中的问题4,我还在学习
OCaml
let length in_list = | [] -> cur_length |hd::tl -> f
浏览 2
提问于2020-04-01
得票数 1
回答已采纳
2
回答
如何使用
OCaml
的[@tail tail]注释来断言尾
递归
?
、
在
OCaml
中,[@tailcall]注释允许断言特定的函数调用是
尾部
调用(所以希望整个函数都是
尾部
递归
的)。问题是:我到底应该把注解放在哪里?*) 我可以从汇编代码中看到,后一个示例被编译器识别为尾
递归
。所以,在有人实现[@tailrec]之前:我到底应该把我的[@tailcall]注释放在哪里?(如果在第二个示例中可能的话)
浏览 2
提问于2016-08-09
得票数 4
1
回答
使用尾
递归
实现树到有序列表的转换
、
、
我已经找到了一个“正常”的
递归
解决方案,但不是尾
递归
解决方案。我已经考虑过构建一个无序列表并使用List.sort对其进行
排序
,但这使用了一种不是
尾部
递归
的
合并
排序
。也许有人有一个好的建议。 谢谢!
浏览 0
提问于2018-12-16
得票数 2
2
回答
在
Ocaml
中跟踪嵌套
递归
、
、
我试图通过使用
排序
列表算法来理解
OCaml
中的深度嵌套
递归
。出于这个原因,我正在跟踪下面的代码,它有一个
递归
函数sort,并调用另一个函数insert。elt ]我理解了对sort的第一次
递归
调用将此列表的tail
排序
为2,3,5之后,在代码中head 6与该
尾部
的每个元素进行比较?有人能为追踪结果
浏览 2
提问于2022-05-03
得票数 0
回答已采纳
1
回答
创建子类型的空IndexedSeq并使用TailRec
、
、
继续我的问题
合并
,我有一个mergeSort函数,它接受IndexedSeqA的一个子类,并使用 ()函数对其进行
排序
。_包使其
尾部
调用
递归
?
浏览 24
提问于2019-03-26
得票数 1
1
回答
Scala:为什么这个函数不是尾
递归
的?
、
、
、
、
我有这样的
合并
排序
实现: def sortBy[T]: ((T, T) => Int) =>它说步骤函数中的
递归
调用不处于
尾部
位置。但它处于
尾部
位置。没有蹦床就能修好它吗?
浏览 0
提问于2016-12-27
得票数 0
回答已采纳
1
回答
OCaml
是否可以检查
尾部
递归
有没有办法让
ocaml
告诉我一个函数是否使用尾
递归
实现了
递归
?我不是指阅读代码。我的意思是让
ocaml
告诉我,像这样说: let x = tail_recursion f;;
浏览 1
提问于2014-02-07
得票数 4
1
回答
文件
OCaml
的
尾部
递归
读取
、
、
、
with | None -> () 现在它的工作方式就像常规的尾
递归
函数
浏览 16
提问于2019-12-15
得票数 1
回答已采纳
2
回答
如何将
递归
算法转换为尾
递归
算法?
、
、
作为对
合并
排序
的第一次尝试,我生成了以下代码,它适用于字符串,因为它们比列表更容易处理。{ MergeSort(left), MergeSort(right) });}任何帮助都
浏览 0
提问于2013-05-24
得票数 1
回答已采纳
3
回答
OCaml
中的
尾部
调用转换
、
、
我被告知下面的函数不是尾
递归
函数,因为布尔运算符是在
递归
调用之后计算的: [] -> falselet rec exists p = function | a::l -> if p a thentrue else exists p l 因此,似乎
OCaml
编译器
浏览 0
提问于2012-07-08
得票数 6
回答已采纳
4
回答
如何编写惯用的Scala快速
排序
函数?
我最近回复了一个,试图用Scala编写一个快速
排序
函数,我在某个地方看到了类似下面的代码。qsort(tail.filter(_ < pivot)) ::: pivot :: qsort(tail.filter(_ >= pivot))} 我的回答受到了一些建设性的批评,指出列表对于快速
排序
来说是一个糟糕的集合选择,其次,上面的列表不是尾
递归
的。我试着用
尾部
递归
的方式重写上面的代码,但是没有太多的运气。有没有可能写一个
尾部
递归
快速
排序</e
浏览 2
提问于2010-06-03
得票数 6
回答已采纳
1
回答
如何在
OCaml
中返回浮点数?
、
、
、
我用
OCaml
编写了这个简单的函数来计算列表的和: match lst with | h :: t -> h
浏览 5
提问于2022-06-03
得票数 0
回答已采纳
1
回答
尾部
递归
合并
算法
、
、
我实现了一个
递归
合并
算法:-import(lists,[sublist/3,delete/2,min/1,reverse/1]).然而,我对mergesort/3不是
尾部
递归
(TR)并且冗长的事实感到恼火。我想这里的问题是,我并不特别了解我在这里使用的TR“模板”--我理解如何实现一个TR函数,这个函数可以用一个系列来定义--它只会将参数移到函数上,但是对于我们有条件地将子列表
合并
到列表的其他部分的自然
递归
的情
浏览 3
提问于2014-11-23
得票数 3
回答已采纳
1
回答
如何在
OCaml
中实现两个函数的相互调用
、
我想在
OCaml
中有两个不同的
递归
函数,每个
递归
函数可以调用另一个。它不起作用是因为声明为1的那个不能调用声明为2的那个。有没有办法在不将两个函数
合并
为1的情况下使其工作?
浏览 0
提问于2011-11-13
得票数 9
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
云直播
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券