下列程序段的时间复杂度是_______。count=0;for(k=1,k<=n;k*=2)for(j=1,j<=n,j++)count++;
【正确答案】 C
【答案解析】解析:内层循环条件j<=n与外层循环的变量无关,每次循环j自增1,每次内层循环都执行n次。 外层循环条件为k<=n,增量定义为k*=2,可知循环次数为2 k <=n,即k<=log2n。所以内层循环的时间复杂度是O(n),外层循环的时间复杂度是O(log2n)。对于嵌套循环,根据乘法规则可知,该段程序的时间复杂度T(n)=T 1 (n)*T 2 (n)=O(n)*O(log 2 n)=O(nlog 2 n),选C。