Time complexity 理解嵌套循环函数的理论运行时
我一直在努力理解Big-O符号。今天早些时候,有人给了我一个函数来练习,并告诉我它有一个Time complexity 理解嵌套循环函数的理论运行时,time-complexity,big-o,Time Complexity,Big O,我一直在努力理解Big-O符号。今天早些时候,有人给了我一个函数来练习,并告诉我它有一个O(n^5)。我试着自己计算,但不知道我是否正确计算了t(n) 以下是我的两个问题: 1) 我是否正确计算了T(n),如果没有,我做错了什么 2) 为什么我们只关心最高权力的变量 1 sum = 0; //1 = 1 2 for( i=0; i < n; i++) //1 + n
O(n^5)
。我试着自己计算,但不知道我是否正确计算了t(n)
以下是我的两个问题:
1) 我是否正确计算了T(n)
,如果没有,我做错了什么
2) 为什么我们只关心最高权力的变量
1 sum = 0; //1 = 1
2 for( i=0; i < n; i++) //1 + n + 2(n-1) = 1+n+2n-2 = 3n-1
3 for (j=0; j < i*i; j++) //n + n*n + 2n(n-1))= n+ n^2 + 2n^2-2n = 3n^2 -n
4 for (k=0; k < j; k++) //n + n*n + 4n(n-1))= n + n*n +4n*n-4n = 5n^2 -3n
5 sum++;
6 k++;
7 j++;
8 i++;
// so now that I have simplified everything I multiplied the equations on lines 2-4 and added line 1
// T(n) = 1 + (3n-1)(3n^2-n)(5n^2 -3n) = 45n^5 -57n^4 +23n^3 -3n^2 + 1
1和=0//1 = 1
2表示(i=0;i
最里面的循环运行j
次。
第二个循环为j=0到i^2
->整数之和运行。
外循环运行到n
->平方和和整数的四次幂
我们只取最高幂,因为当n
接近无穷大时,n
(或顺序)的最高幂将始终占主导地位,而不管其系数如何