最近我注意到,有一個非常明確的實施插入排序位置: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