给定代码场景的时间复杂度

time complexity for given scenario of code

以下情况的时间复杂度是多少:

我)

for(i=0; i<n; i++)
{
    for(j=0; j<n; j++)
    {
        printf("hello");
    }
}

ii)

for(i=0; i<n*n; i++)
{
    printf("Hello");
}

i): 外循环是 运行 n 次,所以你在外循环中触摸每个元素 n 次。

内部循环也是 运行 n 次,所以你触摸每个元素 n*n 次所以它 O(n^2)

ii) 循环是 运行 n*n 次所以它只是 O(n^2)

你需要问问自己 1 次迭代的成本是多少,让我们假设 x 然后问问自己我有多少次迭代,让我们假设 y 那么时间复杂度是多少? O(x*y)

在你的这两种情况下: 1 次迭代成本 O(1) 你有 n*n 次迭代 所以时间复杂度O(n^2)