腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(1734)
视频
沙龙
1
回答
OCaml
:
快速
排序
-
尾部
递归
,
无限
循环
?
、
、
当我编译我的代码是正常的,但当我调用并执行函数Quicksort时,程序似乎处于
无限
循环
中。我能做些什么?我测试了所有的函数,但似乎问题出在tQuicksort函数中。我是个初学者。
浏览 10
提问于2017-07-14
得票数 2
回答已采纳
2
回答
递推函数中的回路不变
、
当我阅读算法导论(第三版,P188)时,有一种叫做
尾部
递归
-
快速
排序
的算法,我们必须证明这个算法的正确性。3 q = PARTITION(A, p, r)5 p = q + 1Before each iteration, A[0:p-1] a
浏览 0
提问于2016-09-11
得票数 0
2
回答
OCaml
中的尾
递归
归并
排序
、
、
我正在尝试在
OCaml
中实现一个尾
递归
列表
排序
函数,并编写了以下代码: let split l = in sort l然而,它似乎并不是真正的尾
递归
,因为我遇到了“求值过程中的堆栈溢出(
循环
递归
?)”。你能帮我找出这段代码
浏览 0
提问于2010-03-27
得票数 8
回答已采纳
4
回答
如何编写惯用的Scala
快速
排序
函数?
我最近回复了一个,试图用Scala编写一个
快速
排序
函数,我在某个地方看到了类似下面的代码。qsort(tail.filter(_ < pivot)) ::: pivot :: qsort(tail.filter(_ >= pivot))} 我的回答受到了一些建设性的批评,指出列表对于
快速
排序
来说是一个糟糕的集合选择,其次,上面的列表不是尾
递归
的。我试着用
尾部
递归
的方式重写上面的代码,但是没有太多的运气。有没有可能写一个
尾部
浏览 2
提问于2010-06-03
得票数 6
回答已采纳
1
回答
我们可以通过
尾部
递归
来优化随机
快速
排序
吗?
、
、
我知道我们可以通过利用尾
递归
来优化
快速
排序
,方法是删除1个以上的
递归
调用,并将其减少为一次
递归
调用: void quickSort(int arr[], int low, int high) high = high; } } 但是我们能用
尾部
递归
优化随机
快速
排序
吗
浏览 24
提问于2021-07-22
得票数 0
1
回答
OCAML
尾部
递归
合并
排序
、
、
我有一些用
OCaml
编写的代码,其中我试图创建一个函数,该函数接受一个列表并通过合并
排序
对其进行
排序
。l2 [])let (l1,l2) = split ls ([],[]) in merge (msort l1) (msort l2);; 当我尝试编译代码时,它显示“计算期间堆栈溢出(
循环
递归
我想知道如何更改主体,使其不会
无限
递归
,并想知道如何以及在哪里添加基本案例到主体。谢谢!
浏览 13
提问于2020-09-22
得票数 0
1
回答
排序
算法中最快的
排序
-
排序
表是什么?
、
、
、
、
我正在尝试优化我的
快速
排序
以提高性能。对于4M (1<<22)整数项(每个4字节),在支持72个并发线程(72个内核)的系统上
排序
需要0.5 (0.499703)秒的并行
快速
排序
算法。我对进一步优化并行
快速
排序
的有效方法很感兴趣。另外,如果给定一定的工作负载,所有
排序
算法都有一个排名表,是否有兴趣与其他
排序
算法进行比较?
浏览 2
提问于2012-04-16
得票数 0
2
回答
迭代(基于堆栈)
快速
排序
比
递归
快吗?
、
、
在不同的地方,我看到了使用堆栈实现
快速
排序
比使用
递归
更快的说法。这是真的吗?我知道编译器通常擅长将
递归
转换为迭代,但是链接到页面上的注释要求它过于复杂,无法进行优化。首先检查分区,并堆叠指示两个分区中较大的指针。小分区的指针根本没有堆叠:我们能够做到这一点,因为我们可以保证较小的分区总是等价于第二个
浏览 2
提问于2014-07-15
得票数 1
2
回答
为什么这个
尾部
是
递归
的?
、
(n > 1) { rec(d) rec(n/d)} for(; n > 1; n /= d) int i = n; rec(d)
浏览 9
提问于2011-03-17
得票数 7
回答已采纳
3
回答
Scala中的尾
递归
快速
连续样式
、
、
、
、
我正试图在Scala中编写一个尾
递归
快速
排序
,它可以通过构建一个延续来工作,而不需要使用蹦床。如果(1)的答案是“否”,是否可以在Scala中用CPS风格编写
尾部
递归
快速
排序
--也就是说,不使用蹦床?怎么做到的?为了明确起见,我看过,它讨论了如何使用蹦床(我知道如何使用)或您自己的显式堆栈来实现
尾部
递归
快速
排序
,但我特别想知道是否以及如何以不同的方式实现。
浏览 0
提问于2016-09-19
得票数 1
1
回答
使用互
递归
、
OCaml
中是否存在相互
递归
? 错误:未绑定值
快速
排序
,您的意思是tQuick
排序
吗?
浏览 4
提问于2017-07-11
得票数 0
回答已采纳
2
回答
不带
尾部
递归
的
快速
排序
、
、
我使用
尾部
递归
编写了以下随机化
快速
排序
代码。我想看看不使用尾
递归
的效果,并想看看执行时间和运行时间是如何影响的。我们如何从下面的随机
快速
排序
代码中删除
尾部
递归
?endl; cout<<a[i]<<endl;} EDIT:有没有办法完全删除quicksort函数中的第二个
递归
调用这将意味着删除尾<em
浏览 0
提问于2016-04-07
得票数 1
6
回答
快速
排序
和
尾部
递归
优化
、
、
、
在 p169中,它讨论了对Quicksort使用尾
递归
。本章前面最初的
快速
排序
算法是(在伪代码中){ { Quicksort(A, p, q) }使用尾
递归
的优化版本如下{ { Quicksort
浏览 10
提问于2013-09-30
得票数 19
1
回答
为什么在Rust中不建议
递归
?
、
我熟悉
递归
的一般意识--不要使用它,因为它不是一个好的内存管理实践。但是,这个概念应该应用于所有编程语言,除非它们能够很好地处理
递归
下的内存管理。在通过时,发表了一项声明: 我不明白为何会这样?与其他语言相比,在Rust中是否有一些不太常见的东西,即不建议
递归
,或者在Rust中迭代比其他语言处理得更好?
浏览 0
提问于2021-01-29
得票数 17
回答已采纳
1
回答
如何在
Ocaml
中检查非空列表?
我正在尝试使用
Ocaml
学习函数式编程,我想实现一个函数,它返回列表中元素的和。我想用write
循环
来完成它,但是我想不出写支票的方法。
浏览 3
提问于2022-09-29
得票数 0
1
回答
奥卡米尔(氏)型推理
在某个时候玩-rectypes的
OCaml
选项的时候,我只是迷路了。这个表达式几乎可以类型化:- : ('a -> 'b as 'a) -> 'b = <fun># (fun x -> x x)好的,我能理解,
递归
类型系统是一件相当困难的事情。但是首先,我真的想知道这个表达式的类型,并且它完全可以输入,其次,在这种情况下,我不明白
OCaml</em
浏览 3
提问于2018-05-24
得票数 6
回答已采纳
1
回答
随机
快速
排序
比
尾部
递归
快速
排序
快吗?
、
、
、
我在golang中实现了随机
快速
排序
和尾
递归
快速
排序
,并记录了运行时间。我发现
尾部
递归
快速
排序
需要更多的时间来
排序
数组。} //swap pivot with pth index return i + 1
尾部
递归
快速
排序</
浏览 2
提问于2022-04-11
得票数 0
0
回答
什么是数据中的<cycle>?
、
(我使用
OCaml
版本4.02.3)# type self = Self of self;;及其实例sval s : self = Self <cycle> 由于,我预计定义s将陷入
无限
递归
。
OCaml
如何像s一样处理
循环
数据?Self <cycle>是一种范式吗?
浏览 5
提问于2017-06-05
得票数 5
回答已采纳
2
回答
Silverlight SDK源代码中此方法的用途是什么?
、
有人能解释一下for
循环
的必要性吗?
浏览 1
提问于2009-06-06
得票数 0
回答已采纳
2
回答
QuickSort能够堆栈溢出吗?
、
、
、
、
在我的代码中,该方法将调用自身(
递归
)。我们知道,深度方法调用会导致堆栈溢出。那么,当有大量数据时,是否会发生堆栈溢出?
浏览 0
提问于2012-06-20
得票数 0
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
云直播
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券