以下算法的时间复杂度是多少?

时间:2012-10-12 03:37:42

标签: algorithm time-complexity

for (int i = 0; i < n; i++ ) {
    for (int j = 0; j < n; j++ {
        Simple Statement
    }
}
for (int k = 0; i < n; k++ {
    Simple Statement
    Simple Statement
    Simple Statement
    Simple Statement
    Simple Statement
}
    Simple Statement*25

对于嵌套循环,我发现时间复杂度为1(对于int i = 0)+ n + 1(对于i (1 + 1 + n + n)+ n =(2 + 2n)(2 + 2n)+ n = 4n ^ 2 + 9n + 4

对于以下循环,我发现时间复杂度为1(对于int k = 0)+ n + 1(对于i

因此,总时间复杂度为4n ^ 2 + 8n + 4 + 5n + 2 + 25 = 4n ^ 2 + 16n + 31,但是,我的书中说时间复杂度为n ^ 2 + 5n + 25。

我做错了什么?

编辑:现在很明显,这本书告诉了简单陈述的时间复杂性。我想现在我的问题是这个(正如标题中所示):算法的时间复杂度是多少?

1 个答案:

答案 0 :(得分:2)

您的图书只计算 已执行SimpleStatements的数量。