时间复杂度的乘法?

时间:2013-06-16 05:33:49

标签: time-complexity

我理解当你将两个时间复杂度相乘时,你只需像往常一样将它们相乘,例如n log n的时间复杂度乘以n的时间复杂度会给你一个时间复杂度{ {1}}。

但是哪些界限发挥作用?因此,如果(n^2) log n是上限而n log n也是上限,那么它们的乘积会是什么样的约束?对于下界上限和紧束缚的其他组合会是什么? (例如,上限x紧密绑定,上限x下限和紧密绑定x下限。)

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这是一个纯粹的数学问题:

f(x) O(g(x))当且仅当存在Mx0时才|f(x)| <= M*|g(x)| x > x0。你会在大多数基本的复杂性书籍中看到这一点。

假设f(x)O(F(x))g(x)O(G(x))。然后|f(x)| <= M_f * |F(x)|适用于所有x > x0F|g(x)| <= M_g * |G(x)|适用于所有x > x0G

所有|f(x) * g(x)| = |f(x)| * |g(x)| <= M_f * M_g * |F(x)| * |G(x)|

x > max(x0F, x0G)因此f(x) * g(x)O(F(x) * G(x))且复杂性会成倍增加(将M = M_f * M_gx0 = max(x0f, x0g)应用于定义大O)

答案 1 :(得分:0)

  

因此,如果n log n是上限而n也是上限,那么它们的乘积会是什么样的约束?

上限。查看正式分析的任何好的教科书答案;将这两个上限相乘的直观含义是“如果你最多只需 n lg n ,那么成本最多只需 n ,然后你最多执行 n ²lg n 工作“。

  

upperbound×紧密绑定

紧束缚是上限和下限,所以这是一个上限。

  

紧紧束缚×下限

......并且通过相同的推理,这是一个下限。

  

upperbound×lowerbound

没有一般规则。假设您最多 n 次执行至少n ²操作。这可能根本不起作用,或指数量,或任何更大的。