【发布时间】:2013-08-09 19:01:13
【问题描述】:
还有比使用基本公式 n!/(n-r)! 更好的方法吗?就像我们对 nCr(combinations) nCr = (n-l)Cr + (n-1)C(r-1) 所做的那样?
【问题讨论】:
-
您需要更准确地定义“更好”。
-
最初,“更好”的方法是编写最简单的代码,确定不够好之后再尝试改进。
-
我已经实现了基础版。我的问题是,是否有任何其他递归公式来计算排列,就像我们对 nCr 的计算一样,我们不必乘以很多?
-
如果我错了,请纠正我,但 nCr 的递归函数不会花费指数级的时间来运行吗?每个级别一直调用自己两次。如果您开始将级别组合在一起以避免这种情况,那么您最终会将内容相乘。仅添加的任何加速都会很快失去,因为您实际上必须为这个公式添加多少。
标签: math permutation