int x=90;y=90;while y0ifx10x-=10;y--;else x++;这段代码的每条语句的时间复杂度为多少while语句为什么是oy不应该是o101吗
int x=90; // O(1) y=90; // O(1) while (y>0) // O(y) if(x>10) // O(1) {x-=10;y--;} // O(1) else x++; // O(1)
总时间复杂度为 O(y),因为 while 循环的次数取决于 y 的值,而不是固定的 101。如果 y 等于 1000,那么循环将执行 1000 次,而不是 101 次。因此,while 循环的时间复杂度为 O(y)。
原文地址: http://www.cveoy.top/t/topic/feC4 著作权归作者所有。请勿转载和采集!