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_Runtime_Big O_Time Complexity_Procedure - Fatal编程技术网

Algorithm 如何找到特定过程的运行时间?

Algorithm 如何找到特定过程的运行时间?,algorithm,runtime,big-o,time-complexity,procedure,Algorithm,Runtime,Big O,Time Complexity,Procedure,对于下面的每个过程,让T(n)为运行时间。求T(n)的阶 (即,找到f(n),使得T(n)∈ (f(n)) 程序Fum(int n): 我知道如何找到简单函数的运行时间,但由于这是一个嵌套循环,其中内循环依赖于外循环的变量,所以我遇到了麻烦。在这种情况下,它应该是1+4+9+…+n^2=n(n+1)(2n+1)/6O(n^3) < > < 中的每一步,对于循环,< > > > x=i;y=1/i;< /代码>,将采用 i ^ 2 < /代码>(如 x=y*i ^ 2 >时间> x >代

对于下面的每个过程,让T(n)为运行时间。求T(n)的阶 (即,找到f(n),使得T(n)∈ (f(n))

程序Fum(int n):


我知道如何找到简单函数的运行时间,但由于这是一个嵌套循环,其中内循环依赖于外循环的变量,所以我遇到了麻烦。

在这种情况下,它应该是
1+4+9+…+n^2=n(n+1)(2n+1)/6
O(n^3)


< > < <代码>中的每一步,对于循环,< <代码> > <代码> > <代码> > x=i;y=1/i;< /代码>,将采用<代码> i ^ 2 < /代码>(如<代码> x=y*i ^ 2 <代码> >时间> <代码> x >代码>首先到达<代码> x,让我们考虑内部循环的运行时间: 我们想计算出内部循环运行了多少次,以i为单位。 也就是说,我们要求解x-f(i)y=0中的f(i)。如果我们在x=i中求次,并且y=1/i,我们得到f(i)=i^2

我们知道外循环将运行n次,因此,我们得到内循环运行的总次数:

=1+4+9+…+n^2


这个总数等于n(n+1)(2n+1)/6,也就是O(n^3)

谢谢,你能告诉我你是怎么得出这个答案的吗?不,
1+4+9+…=n(n+1)(2n+1)/6
,不是
n^2
for i from 1 to n do    
 y ← 1/i
 x ← i
 while x > 0 do    
  x ← x − y 
 end while
end for