单选题 15.设n是描述问题规模的正整数,下列程序片段的时间复杂度是( )。
i=n*n;
while(i!=1)
i=i/2;
【正确答案】 A
【答案解析】考查时间复杂度。将算法中基本运算的执行次数的数量级作为时间复杂度。基本运算是“i=i/2;”,设其执行次数为k,则(n*n)/(2k)=1,得k=log2n2,因此k=log2n2=2log2n,即k的数量级为log2n,因此时间复杂度为O(log2n)。