Q
Concat性能
2
A
回答
2
他簡單地說,而不是使用Concat
創建一個迭代這實際上相當於創建了一個迭代器:這是造成
...(((a+b)+c)+d)...
:
for (int i = 0; i < length; ++i)
ones = ones.Concat(list);
創建迭代列表你需要並返回你以前創建的每個迭代器。
這樣你就不會在第一個元素集合中產生很多堆棧迭代器。
另外值得一提的是,關於O(m^2)
的聲明並不是「非常正確」。在這種情況下是這樣的,但這就像是在計算(((a+b)+c)+d)...
的情況下說的+
是O(m^2)
。這是特定的使用模式,使其成爲O(m^2)
。
1
我不認爲博客文章是說Concat是O(m^2),至少它不應該是 - 在某一時刻Concat是O(m + n)的事實被提及 - 這更可信。在這個帖子中給出的是O(m^2)的循環中使用Concat - 我不認爲這是一個特別令人震驚的發現,因爲你會期望許多調用會增加複雜度!
Richard的後續行動是建議推遲Concat操作,直到需要時爲止,通過存儲迭代器列表,然後從第一個開始移動,然後在耗盡時移動到下一個,這是非常有道理的 - 但是,對於'光線使用'而言,Concat不會有問題。
相關問題
- 1. SQL CONCAT功能
- 2. 嘲諷CONCAT功能
- 3. PL/SQL CONCAT功能
- 4. 角 - 小寫的屬性concat
- 5. 結合CONCAT和LAG功能
- 6. 不能使用concat作爲'\'
- 7. SQL服務器CONCAT功能
- 8. 簡單的MySQL CONCAT功能
- 9. 帶SQL功能的Concat
- 10. MYSQL性能問題concat在選擇或在哪裏
- 11. 好使用requirejs或咕嚕與concat/minification爲angularjs性能
- 12. 性能StringBuilder插入字符串與字符串Concat
- 13. concat和||之間是否存在性能差異?在oracle
- 14. Jquery的動畫的方法不能識別屬性的concat
- 15. 用於多個列組的sql server中的組concat性能
- 16. 咕嘟咕嘟-CONCAT不能Concat的文件
- 17. MVVMCross - MvxBind:合併/ Concat的屬性
- 18. 反應性擴展SelectMany和Concat
- 19. concat in FSharp.Core.String vs Concat in System.String
- 20. 沒有OFFICE的CONCAT功能365
- 21. 協助在phpMyadmin中使用CONCAT功能
- 22. Mysql - 「排序方式」不能使用「CONCAT」
- 23. MySQL的 - CONCAT與年及星期功能
- 24. Concat JS不能正常工作
- 25. NSString concat不能在設備上工作
- 26. JPQL我們不能CONCAT(String,Integer)EclipseLink?
- 27. Hadoop豬拉丁語,CONCAT功能失敗
- 28. .concat()方法不能正常工作
- 29. 超過2列在CONCAT功能
- 30. 組CONCAT