小编Sou*_*ker的帖子

为什么这段代码的运行时间为O(n ^ 5)?

我被要求确定此代码的大O时间复杂度:

function(int n) {
    for (int i = 0; i < n; i++) {
        for (int j = i; j < i * i; j++) {
            if (j % i == 0) {
                for (int k = 0; k < j; k++) {
                    printf("*");
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

答案是O(n 5).任何人都可以解释为什么,或如何确定这个?我们是否添加了最内层循环的次数,或者我们是否将每个循环的复杂性相乘?

big-o time-complexity

2
推荐指数
1
解决办法
655
查看次数

标签 统计

big-o ×1

time-complexity ×1