2.设T1(N)=O(f(N)),T2(N)=O(f(N)),则:
T1(N)-T2(N)=o(f(N)) False,若1位2N,2为N
T1(N)/T2(N)=O(1) False,为常数而不是1.
7.分析时间复杂度
(1)for(i:0~n){for(j:0~i)}该循环的复杂度为O(N2)
(2)
1 sum = 0; 2 for( i = 1; i < n; i++) 3 for( j = 1; j < i * i; j++) 4 if( j % i == 0) 5 for( k = 0; k < j; k++) 6 sum++;
O(N4).②行为N,③行为N2,但是三行后第④行有一个j % i == 0的判断条件,成立i次,所以③④为总体,算作N.⑤行j最大为i2,即为N2,所以该程序为N*N*N2,O(N4)
时间: 2024-12-31 05:25:39