Mathematica中的Permutations []运行时

时间:2011-07-12 00:12:19

标签: wolfram-mathematica permutation combinatorics

它似乎运行得非常快,即使对于相对较大(10号)的设置也是如此。谁能告诉我他们特定算法的big-theta运行时?我在文档中找不到它。

1 个答案:

答案 0 :(得分:3)

我第一次尝试回答这个问题是非常有缺陷的。由于大多数内部算法没有发布限制行为,我决定直接测量它。我测量了计算随机值列表的Permutations所花费的时间,并计算了每个长度中1000个值的平均值和标准差。由于需要时间,我使用了最多10个元素的长度,Permutations仅适用于长度为12的列表。我在日志图上的结果:

log plot of permutation timings up to length 10

平均值是黑线,一个标准差由平均值周围的填充区域表示。从长度5开始,大致笔直到10,可以检测到轻微的曲线。我怀疑它是O(n!),但对于长度低于7或8的情况,它确实无关紧要。甚至长度为10的排列也给出了可观的平均值,即0.241 +/- 0.012 s。