内部循环的上限是什么

What is the upper bound of the inner for loop?

本文关键字:是什么 循环 内部      更新时间:2023-10-16

我知道上界(即(int i = 0; i< n ; i )for nested/for loop是最糟糕的情况时间复杂性。基本上, n 是for循环将迭代的最大次数。考虑到此信息,这是我编写的伪代码。

for (i = 1; i <= n; i++)
   for (j = n; j >= 1; j--)
      cout << "hi";

从这片代码中,很明显,外部循环的上限的时间复杂性为o(n)。

但是,内部循环的时间复杂性是什么?

内部循环中的语句被执行n*n乘以O(n^2)的复杂性。

for (i = 1; i <= n; i++)//                 O(n)
   for (j = n; j >= 1; j--)//              O(n)
      cout << "hi";//                      O(1)

总计:O(n)*O(n)*O(1)=O(n^2)

for (j = n; j >= 1; j--)for(j = 0; j <= n; j++)是等效的语句,直到它们将被执行多少次,一个只是从上限到0,而另一个从零到上限到上限