即使對於較大(大小爲10)的集合,它似乎運行得非常快。任何人都可以告訴我他們特定算法的big-theta運行時間嗎?我無法在文檔中找到它。Mathematica中的排列[]運行時間
1
A
回答
3
我第一次嘗試回答這個問題是非常有缺陷的。由於大多數內部算法沒有公佈的限制行爲,因此我決定直接測量它。我測量了計算隨機值列表的Permutations
所花費的時間,並計算了每個長度的1000個值的平均值和標準偏差。我用10元,由於所需時間的最大長度,並且Permutations
只能最多可列出長12.我對數圖的結果:
平均值是黑線,和一個標準偏差由均值周圍的填充區域表示。從5開始,它大致直到10,在那裏可以檢測到輕微的曲線。我懷疑它是O(n!),但對於低於7或8的長度,它真的沒關係。即使長度爲10的排列也給出了可觀的顯示,平均值爲0.241 +/- 0.012s。
相關問題
- 1. 排列函數的運行時間
- 2. 如何安排Mathematica筆記本電腦每天同一時間運行?
- 3. 運行時間的排序代碼
- 4. 在Mathematica中重新排序列表
- 5. 算法打印字符串的排列 - 運行時間分析
- 6. 通過多重陣列排序方法的運行時間
- 7. Python散列運行時間
- 8. 合併排序算法的最佳運行時間和平均運行時間
- 9. 運行時間插入排序
- 10. C++快速排序運行時間
- 11. 計數排序運行時間
- 12. 小學排序運行時間比較
- 13. 基數排序運行時間
- 14. 插入排序bizzare運行時間
- 15. 合併排序運行時間
- 16. 爲一個已排序陣列的運行時間由選擇排序算法進行排序Vs的時間爲反轉排序的數組進行排序
- 17. Java中數組的運行時間。Java中的排序方法
- 18. 在Mathematica中按文本日期列對數組進行排序
- 19. Mathematica在排版數學公式時符號重音的間距
- 20. BUILD-MAX-HEAP運行時間降序排列
- 21. Ocaml中的運行時間
- 22. 排列組合 - 運行時失敗
- 23. .Net重新排序DataGridView運行時列
- 24. 瞭解合併排序和快速排序的運行時間
- 25. 運行合併排序和快速排序的線性時間
- 26. Bubble排序和快速排序的運行時間比較
- 27. 在羣集中運行Mathematica程序
- 28. 的DataGridView與運行時間列
- 29. 重新排序Mathematica中
- 30. 按時間序列排列的時間序列在列中出現峯值時
您能否提供一個WRI將文檔中的任何Mathematica算法的大O,Omega,Theta運行時間放在哪裏的示例? – Simon
不,但是對於一些函數,他們確實解釋了底層實現(這個函數調用了一個使用哈希映射等的C庫...) – JeremyKun
考慮到生成的集合的數量,這可能比O(n! ?或者你對它比O(n!)慢多少感興趣? (它需要進行額外的比較,因爲它不會像'{1,2,3}'那樣爲'{1,2,2}'返回相同的值)。 – Szabolcs