最近对算法的效率

时间:2011-04-25 16:08:08

标签: algorithm asymptotic-complexity

在T(n)= 2T(n / 2)+ M(n)中,T前面的2来自哪里。 n / 2因为它正在划分,而M(n)是线性的,但我无法弄清楚2是什么?

4 个答案:

答案 0 :(得分:4)

2,因为您正在对两个子集执行操作。请参阅master theorem

答案 1 :(得分:1)

递归关系与Merge Sort中的相似。时间复杂度为O(n log n)

答案 2 :(得分:1)

这说明大小n问题的时间成本来自将问题分成两半(即T(n / 2))并解决两半(2 T(n / 2))加上一些修正成本(即M(n))。

所以,2是因为你将问题分成两半并解决了两半。

答案 3 :(得分:1)

2表示您将调用重复功能的次数。

例如,如果你有一棵有4个孩子的树,你会期望该值为4。在这种情况下,你要重复两次。