作业帮 > 综合 > 作业

下列程序段中带记号@的语句的频度及算法时间复杂度是多少!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/26 03:36:41
下列程序段中带记号@的语句的频度及算法时间复杂度是多少!
x=91;y=100;
while(y>0)
{ @ if (x>100) {x-=10;y--;}
else x++;
}
分析每一次循环可以发现,当循环执行10次后x>100,y方才减1,此时x被复原为91;
如此下去,由于每执行10次循环才使y减1,所以循环体执行100*10次,也就是说if语句判断执行了1000次(但里面的y--执行了100次).至于时间复杂度,你现在数据都给定值了那不就是O(1)吗……如果x、y没给初值,则粗略地说应该为O(y)(或者说是O(10y)).