设n是描述问题规模的正整数,下列程序片段的时间复杂度是( )。 y=0; while(n>=(y+1)*(y+1)) y++;

admin2019-12-10  16

问题 设n是描述问题规模的正整数,下列程序片段的时间复杂度是(    )。
y=0;
    while(n>=(y+1)*(y+1))
    y++;

选项 A、0(log2n)
B、0(n)
C、0(nlog2n)
D、0()

答案D

解析 考查时间复杂度。该程序片段的基本语句为“y++;”,设其执行次数为k次,则(k—1+1)*(k—1+1)≤n<(k+1)*(k+1),有k2≤n<k2+2*k+1,可知k为的线性函数,故时间复杂度为O()。
转载请注明原文地址:https://kaotiyun.com/show/vI3i777K
0

最新回复(0)