Kev*_*vin 2 java algorithm big-o
我必须写下一个算法的Big O表示法,我必须考虑我的作业.
我能说出下面的代码是O(n^2).因为对于每个x,我必须经历所有y,并且随着世界变大,它变得越来越慢.
int[][] world = new world[20][20];
for (int x = 0; x < 20; x++)
{
for (int y = 0; y < 20; y++)
{
..
}
}
Run Code Online (Sandbox Code Playgroud)
但是,对于另一个问题,我必须经历世界的下半部分,所以我的y循环减半.
int[][] world = new world[20][20];
for (int x = 0; x < 20; x++)
{
for (int y = 10; y < 20; y++)
{
..
}
}
Run Code Online (Sandbox Code Playgroud)
我不太确定Big O符号适用于上述循环,是否还O(n^2)因为它变得越慢世界变得越大?或者是O(log n)因为y减半了?