Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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,如果有人能告诉我如何找到最坏的情况,以及如何得到alg1的输出a作为n的函数,我将非常感激。谢谢 从最后一个循环中减去t,使其成为 function alg1(n) 1 a=0 2 for o=1 to n do 3 for t=1 to o do 4 for k=t to o+t do 5 a=a+1 6 return(a) 现在,对于每个O值,最内部的两个循环将运行O(O^2)时间。答案是 for k=0 to o do 这等于 n(n+1)(2n

如果有人能告诉我如何找到最坏的情况,以及如何得到alg1的输出a作为n的函数,我将非常感激。谢谢

从最后一个循环中减去t,使其成为

function alg1(n)
1 a=0
2 for o=1 to n do
3     for t=1 to o do
4         for k=t to o+t do
5         a=a+1
6 return(a)
现在,对于每个O值,最内部的两个循环将运行O(O^2)时间。答案是

for k=0 to o do
这等于

n(n+1)(2n+1)/6。因此它的数量级为O(n^3)


从最后一个循环中减去t,使其成为

function alg1(n)
1 a=0
2 for o=1 to n do
3     for t=1 to o do
4         for k=t to o+t do
5         a=a+1
6 return(a)
现在,对于每个O值,最内部的两个循环将运行O(O^2)时间。答案是

for k=0 to o do
这等于

n(n+1)(2n+1)/6。因此它的数量级为O(n^3)


我们可以计算此代码执行的增量的确切数目。首先,让我们替换

1^2 + 2^2 + ... n^2

更改后,两个内部循环如下所示

for k=1 to o+1 do 
这些循环的迭代次数显然是
o*(o+1)
。可通过以下方式计算迭代的总次数:


当使用大O表示法时,我们可以排除多项式的系数和低阶项。因此,复杂度是O(n^3)

我们可以计算此代码执行的增量的确切数目。首先,让我们替换

1^2 + 2^2 + ... n^2

更改后,两个内部循环如下所示

for k=1 to o+1 do 
这些循环的迭代次数显然是
o*(o+1)
。可通过以下方式计算迭代的总次数:


当使用大O表示法时,我们可以排除多项式的系数和低阶项。因此,复杂性为O(n^3)

第三个循环计数器中的减法t可能重复,它不影响结果。然后写下o=1、2等的内部循环数。从第三个循环计数器捕获一个可能重复的减法t,它不会影响结果。然后写下o=1、2等的内部循环数。这句话很有帮助,谢谢!快速提问,为什么最里面的循环简化为k=1到o+1,而不是k=1到o?我想如果你通过减去t来简化这个循环,它会变成k=1到o……是不是因为如果你从内环减去t,它实际上会变成k=0到o,这与k=1到o+1是一样的?这个评论非常有用,谢谢!快速提问,为什么最里面的循环简化为k=1到o+1,而不是k=1到o?我想如果你通过减去t来简化这个循环,它会变成k=1到o……是不是因为如果你从内环减去t,它会变成k=0到o,这与k=1到o+1是一样的?谢谢!也很有帮助。谢谢!也很有帮助。