Java 如何在big-o中找到算法的运行时 public void do(){ 对于(int i=0;i
在这种情况下,行和列将相等:Java 如何在big-o中找到算法的运行时 public void do(){ 对于(int i=0;i,java,algorithm,performance,runtime,big-o,Java,Algorithm,Performance,Runtime,Big O,在这种情况下,行和列将相等: 行=(大小*10)+1; columns=行+10; 其中,大小(n)是1、2、4或8 由于行和列变量将随着大小而增加,每个循环将在行上运行,然后循环中的列可以说此函数将在O(n^2)中运行吗 我对算法的复杂性还比较陌生,希望能在这方面有所帮助。非常感谢。直接回答您的代码: N表示一个循环,因此two nested=N^2,以此类推。如果嵌套循环中有2条指令,则实际上是2N^2,但2的乘法是有用的,因此无论如何都是N^2。直接回答您的代码: N代表一个循环,所以
行=(大小*10)+1;
columns=行+10;
其中,大小
(n)是1、2、4或8
由于行
和列
变量将随着大小而增加,每个循环将在行上运行,然后循环中的列可以说此函数将在O(n^2)中运行吗
我对算法的复杂性还比较陌生,希望能在这方面有所帮助。非常感谢。直接回答您的代码:
N表示一个循环,因此two nested=N^2,以此类推。如果嵌套循环中有2条指令,则实际上是2N^2,但2的乘法是有用的,因此无论如何都是N^2。直接回答您的代码:
N代表一个循环,所以two nested=N^2,以此类推。如果嵌套循环中有2条指令,它实际上是2N^2,但是2的乘法是有用的,所以N^2。不,因为
N
没有定义。对不起,我定义了它。大小不是N吗?你可以按照这个来做,因为N
没有定义。对不起,我定义了它。大小不是n吗?你可以按照下面的步骤进行。干杯,你的附加答案也有帮助。你应该将问题标记为重复。干杯,你的附加答案也有帮助。你应该将问题标记为重复。
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
}