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