Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 具体的大问题_Algorithm_Big O_Analysis - Fatal编程技术网

Algorithm 具体的大问题

Algorithm 具体的大问题,algorithm,big-o,analysis,Algorithm,Big O,Analysis,我们正在攻读计算机科学学位,我很难理解它。我想发布两个问题,一个是我试图自己完成的,另一个是我不知道如何开始。请各位议员告诉我,我的第一个答案是正确的还是错误的,并为我指出理解第二个答案的方向,好吗?非常感谢您的帮助 a) E(n) ≤ 5n^2 + 9n^3, then E(n) = O(?) Guess: O(n^3) Proof: 9n^3 + 5n^2 <= c*n^3, where c = 10 and n > 1, There

我们正在攻读计算机科学学位,我很难理解它。我想发布两个问题,一个是我试图自己完成的,另一个是我不知道如何开始。请各位议员告诉我,我的第一个答案是正确的还是错误的,并为我指出理解第二个答案的方向,好吗?非常感谢您的帮助

a)
    E(n) ≤ 5n^2 + 9n^3, then E(n) = O(?)

    Guess: O(n^3)

    Proof:

    9n^3 + 5n^2 <= c*n^3, where c = 10 and n > 1,
    Therefore, E(n) = O(n^3)

b) 

    E(n) ≤ 8n*sqrt(n) + 100n log2(n), then E(n) = O(?) .
a)
E(n)≤ 5n^2+9n^3,则E(n)=O(?)
猜测:O(n^3)
证明:
9n^3+5n^2 1,
因此,E(n)=O(n^3)
(b)
E(n)≤ 8n*sqrt(n)+100n log2(n),则E(n)=O(?)。
a) 对于n=2, 9*8 + 5*4 = 92 > 10 * 8 = 80. (n>1不正确) 应该显式地求解n

(b)
应为O的顺序(n^3/2)。使用大数字(如2^50)进行检查。log(n)的增长速度比n^1/2慢得多

不,你需要一个更大的n,在这个n之后,方程总是成立的。哦,我明白我的错误了。似乎将n的值一直插入到5会使语句不正确,直到我达到6为止。所以当c=10和n=6时是正确的?谢谢,我不确定为什么我们需要这样做?会不会有函数的大O不是原始函数中最大的项的情况?我想我对b部分还是有点困惑。a部分完全有道理,但对于b,我如何找到N的特定值来证明它?我假设我需要一个至少为9的常数c,因为原始项(8n^(3/2))中的系数是8,所以我假设我需要使用常数9,但是在这一点上有没有找到n值的好方法?该语句变为真的值非常大,不确定如何确定该数字。选择一个非常高的C值,这样我们就不必计算非常高的N值,有什么问题吗?例如,在问题2中,如果我让c=9,我们必须使用非常高的数字n来满足定义,但是如果我对c使用巨大的数字,比如100,在定义为真之前,我只需要得到大约27。这个逻辑有什么问题吗?