最近我注意到,有一个非常明确的实施插入排序位置:Clojure中
Insertion sort in clojure throws StackOverFlow error
- 从内存溢出受苦,因为这样的事实,CONCAT懒洋洋地加入名单。我想知道:
当我们希望在大型集合上获得更好的性能时,我们可以应用什么策略来“拉扯”列表?
最近我注意到,有一个非常明确的实施插入排序位置:Clojure中
Insertion sort in clojure throws StackOverFlow error
当我们希望在大型集合上获得更好的性能时,我们可以应用什么策略来“拉扯”列表?
我不太明白downvote。 “doall”将完成这项工作,而“减少”累积成矢量也提供了一个解决方案,不应立即解雇。结果具有快速的随机访问,这对于某些应用可能是有趣的。 (也就是说:围绕结果序列的'vec'也会给出相同的结果。) – kotarak 2012-03-26 06:27:12
我同意所有的都会工作......事实上,它的确行得通,我发布这个问题之后试过了,关于其他引用的帖子。请给出意见。 – jayunit100 2012-03-26 09:17:06
嗯...经过一些更多的使用google搜索后,清楚地知道这个问题的简单答案是通过使用“doall”函数来包装集合。不过,我认为这里可能有一些陷阱,这可能对我们有所帮助。 – jayunit100 2012-03-26 00:18:41