这方面的时间复杂度是多少?什么是Big-O?
int sum = 0;
for (int i = 0; i<= 20; i+=2)
for (int j = 0; j<= i; j++)
sum+= 2i * j ;
System.out.println (sum);
System.out.ptintln(“I = ” + i + “ J = ” + j);
由于没有任何东西依赖于任何输入,并且迭代次数总是固定的,因此这具有恒定的时间复杂性或O(1(。渐近运行时复杂度始终是函数的一个属性,用于描述操作数如何随输入大小而变化。
没有输入,函数总是需要相同的时间来执行,因此为O(1(。
- 函数执行相同的操作,而不考虑其输入:O(1(
- 当输入加倍时,函数运行的时间是原来的两倍:O(n(
- 当输入加倍时,函数运行速度慢4倍:O(n²(
- 函数执行更多的操作,但比您期望的N要少:通常为O(logn(
由于主循环的迭代不会随着输入的变化而急剧增加/减少,因此代码为O(N(。
你可以给I<20迭代器,并且迭代将线性增长