如果在一个程序中有两个O(n ^ 2)和一个O(n)片段,那么程序的复杂性是多少

时间:2016-12-23 17:08:09

标签: algorithm time-complexity

什么是时间复杂度以及如何计算。提前谢谢。

2 个答案:

答案 0 :(得分:4)

T(n) = O(n^2) + O(n^2) + O(n)
     = O(2n^2) + O(n) // add terms
     = O(2n^2) // n^2 is dominant over n
     = O(n^2) //remove constant factor

答案 1 :(得分:0)

如果它们被组合在一起,那么它们按顺序完成(即每个片段执行一次),那么总的复杂度就会相加,你可以简化如下:

O(n^2) + O(n) = O(n^2 + n) = O(n * (n + 1)) = O(n) * O(n+1) = O(n) * O(n) = O(n * n) = O(n^2)