【发布时间】:2016-05-12 03:02:43
【问题描述】:
public void do() {
for (int i = 0; i < rows; i++)
for (int j = 0; j < columns; j++)
// do something
for (int i = 1; i < rows - 1; i += 2)
for (int j = 1; j < columns - 1; j += 2) {
// do something
for (int i = 50; i > 0; i--)
// do something
for (int i = 1; i < rows - 1; i++)
for (int j = 1; j < columns - 1; j++)
// do something
}
在这种情况下,行和列将相等:
rows = (size * 10) + 1;columns = rows + 10;
其中size (n) 是 1、2、4 或 8。
由于rows 和columns 变量的大小会随着大小而增加,并且每个循环都会遍历行,然后循环内的列,我可以说这个函数将在 O(n ^2)?
我对算法的整体复杂性相当陌生,希望对此有所了解。非常感谢。
【问题讨论】:
-
否,因为
n未定义。 -
对不起,我定义了。大小不是 n 吗?
-
你可以关注这个question
标签: java algorithm performance runtime big-o