Java 大哦符号??根据变量n近似以下代码片段后的sum值

Java 大哦符号??根据变量n近似以下代码片段后的sum值,java,performance,sorting,search,big-o,Java,Performance,Sorting,Search,Big O,好吧,所以我不知道什么是大Oh,因为我发誓我的教授没有涵盖它,我需要帮助我尽快完成一些我认为简单的事情。我知道答案,但她想要代码,我不知道如何编译。基本上,我在谷歌上搜索了help w/this&他们只是简单地得到了答案,没有一个如何得到它的示例,或者他们有n=1000或其他什么,但我在提示符中看不到这一点,或者n应该等于什么。我希望有人能理解我请给我建议?lol 提示如下: 1) 以下代码片段后面的sum的近似值,以大Oh表示法中的变量n表示 2) 以大Oh表示法回答以下程序段的估计运行时间:

好吧,所以我不知道什么是大Oh,因为我发誓我的教授没有涵盖它,我需要帮助我尽快完成一些我认为简单的事情。我知道答案,但她想要代码,我不知道如何编译。基本上,我在谷歌上搜索了help w/this&他们只是简单地得到了答案,没有一个如何得到它的示例,或者他们有n=1000或其他什么,但我在提示符中看不到这一点,或者n应该等于什么。我希望有人能理解我请给我建议?lol

提示如下:

1) 以下代码片段后面的sum的近似值,以大Oh表示法中的变量n表示

2) 以大Oh表示法回答以下程序段的估计运行时间:

int sum = 0;
for (int i = 1; i <= n - 3; i++) {
    for (int j = 1; j <= n + 4; j += 5) {
        sum += 2;
    }

    sum++;
}
for (int i = 1; i <= 100; i++) {
    sum++;
}
int sum = 0;

    for (int i = 1; i <= n; i++) {
        sum++;
    }
    for (int j = 1; j <= n / 2; j++) {
        sum++;
    }

当然,这是行不通的。

大O符号并不是为了让程序工作。这是关于查看代码,以了解当您增加一些变量(通常是输入的数量,但在本例中,仅为n)时,程序的运行时间会以多快的速度增加

假设你分析程序运行时间的连续值n->n=1,n=2,n-3等,发现运行时间是由一个线性方程描述的,如a+B。这里的主导项是a项,所以你可以忽略B。你也可以忽略a,说它是O(n)阶

如果运行时间由^2+Bn+C描述,则其顺序为O(n^2)


通过分析代码并确定它是如何循环的,而不是通过实际运行代码来理解性能的本质。

你看过wikipedia了解“大oh”符号的含义吗?这基本上是一个数量级的行为。所以一个简单的for循环在N中是线性的,一个双循环在N中是二次的。(所以对于第一个代码片段,你有N*N加上一个常数,即O(N^2).我明白,但我想说的是,我的教授希望我把它写进代码并编译以得到答案,因为她总是告诉我们,她希望我们为所有作业编写代码并编译。更正:她确实希望我们这样做。哦,好的。哇,谢谢。
public class BigO {

    public static void main(String[] args) {
    }
    public static void main(int n) {

int sum = 0;
for (int i = 1; i <= n - 3; i++) {
    for (int j = 1; j <= n + 4; j += 5) {
        sum += 2;
    }

    sum++;
}
for (int i = 1; i <= 100; i++) {
    sum++;
}
    }
    }