单选题
下面这个程序段的时间复杂度是( )。
for i=1; i<n; i++)
y=y+1;
for (j=0;i<=(2*n);i++)
x++;
A、
O(10g
2
n)
B、
O(n)
C、
O(nlog
2
n)
D、
O(n
2
)
【正确答案】
D
【答案解析】
[解析] 语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。在本题算法中,其中语句“y=y+1;”的频度是n-1,语句“x++;”的频度是(n-1)(2n+1)=2n
2
-n-1。则该程序段的时间复杂度是T(n)=n-1+2n2-n-1=O(n
2
)。
提交答案
关闭