logn^5 + n^1/2 = O(n^1/2)
举一反三
- 设问题规模为N时,某递归算法的时间复杂度记为T(),已知T(1)=1,T()=2T(N/2)+N/2,用O表示的时间复杂度为()。 A: O(logN) B: O(N) C: O(NlogN) D: O(N²logN)
- 请问以下方法的时间复杂度是多少?int n = 10;for (i = 1; i < n; ++i) { for (j = 1; j < n; j += n / 2) { for (k = 1; k < n; k = 2 * k) { x = x + 1; } }} A: O(n^3) B: O(n2logn) C: O(n(logn)*2) D: O(nlogn)
- 长度为n的有序顺序表采用折半查找,查找成功的最少次数为( ),查找成功的最大次数为( ),查找失败的最大次数为( ),所以折半查找的最坏时间复杂度为( ) A: 1,logn,logn,O(logn) B: 1,n,n,O(n) C: 1,n,logn,O(logn) D: 1,logn,n,O(n)
- 下列算法的时间复杂度为n=n*n;while(n<0)n++;n=n*2;() A: O(1) B: O(n) C: O(n^(1/2)) D: O(n^2)
- 二分搜索算法的时间复杂度函数,下述那个正确? A: T(n)=O(1),当n=0<br> T(n)=2T(n/2)+O(1),当n>1 B: T(n)=O(1),当n=0<br> T(n)=2T(n/2)+O(n),当n>1 C: T(n)=O(1),当n=0<br> T(n)=T(n/2)+O(1),当n>1 D: T(n)=O(1),当n=0<br> T(n)=T(n/2)+O(n),当n>1