【发布时间】:2020-05-14 11:15:21
【问题描述】:
谁能解释这两个循环之间时间复杂度的差异。
for(int i = 0; i < n; i++)
{
for(int j=0; j < n; j++)
{
Matrix[i][j] = 0;
}
}
还有--->
int i = 0;
int j = 0;
while(i < n)
{
Matrix[i][j] = 0;
j++;
if(j == n)
{
j=0;
i++;
}
}
我知道第一个的时间复杂度是 O(n2)。我需要知道第二个的时间复杂度是多少,如果第二个的时间复杂度最低,为什么程序员倾向于使用第一个?
【问题讨论】:
-
相同的时间复杂度。但是,与通常的嵌套循环相比,第二个循环的可读性/可维护性较差。通过添加
int counter变量可以轻松计算复杂度,每次迭代都会递增
标签: loops time-complexity