假设以加法和乘法为关键操作, 估算下述 n 次多项式求值函数的时间复杂度(取T为整型) template T PolyEval(Tcoeff[], int n, const T& x) { // 计算 n 次多项式的值,coeff[0: n] 为多项式的系数 T y=1, value=coeff[0]; for(i=1;i<=n;i++) { y*=x; value+=y*coeff[i]; } return value; }
第1题:
多项式时间近似方案的时间复杂度是P(n, 1/ q) , P是多项式函数, q>0。
第2题:
假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度(以n的函数形式表示)。 int Time(int n) { count = 0; x=2; while(x
第3题:
【判断题】多项式时间近似方案的时间复杂度是P(n, 1/ e) , P是多项式函数。
A.Y.是
B.N.否
第4题:
N=45,则用按频率抽取的DIT算法计算的计算量为()。
A.2025次复数乘法,1980次复数加法
B.192次复数乘法,384次复数加法
C.4096次复数乘法,4032次复数加法
D.384次复数乘法,192次复数加法
第5题:
13、假设sqrt(n)函数中涉及的算法时间复杂度为O(1),那么下面的算法是判断n是否为素数,其时间复杂度为()。 void prime(int n) { for (i=2; i<sqrt(n) && (n % i)!=0; i++) ; if (i>sqrt(n)) printf("%d is a prime number", n); else printf("%d is not a prime number", n); }
A.O(n)
B.O(1)
C.O(sqrt(n)) sqrt表示对n取根方
D.O(n-i)