Java数据结构习题_算法分析

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)

原文地址:https://www.cnblogs.com/sunnysola/p/4798964.html