1. 计算下列程序的时间复杂度(B)
for (i=1;i<n;i++)
for(j=1;j<m;j++)
{
a1,a2,a3,a4};
A. O(n)
B. O(nm)
C. O(m)
D. O(1)
解析:
循环次数之积 n*m
2. 求递归方程T(n)=4T(n/2)+n 的解(B)
A. O(n)
B. O(n2)
C. O(n3)
D. O(logn)
解析:
设a≥1,b>1为常数,f(n)为函数,T(n)=aT(n/b)+f(n)为非负数,令x= log b a \log_{b}{a} logba
f(n)是n的多项式,令k为f(n)中n的指数
此处 a = 4 ,b = 2 ,x = log b a \log_{b}{a} logba = 2 ,k = 1
- 1: log b a \log_{b}{a} logba = k
T(n)= O(nk logbn)。- 2: log b a \log_{b}{a} log