算法时间复杂度(C语言描述)

来源:百度知道 编辑:UC知道 时间:2024/05/17 13:34:00
在计算算法的时间复杂度过程中,如果在循环体中含有条件语句(每个条件下的运算有比较大的区别,即在一个条件下还有循环语句,而另一个没有),复杂度计算该如何处理?
还有程序 如:
x=91;y=100;
while(y>0)
{if(x>100)
{x-=10;
y--;
}
else x++;
}
的复杂度是O(n)吗?

O(1)
与n无关啊。n是你输入的初始值。
Big-O描述随着n增大,时间复杂度增加的程度。

这个一般要按照概率进行分别计算,如果概率上没有数量级的差距,一般求出的复杂度会是复杂度更高的那个数量级。

你这个例子里,没有与规模有关的东西,O(1)是对的。

Ο(1)表示基本语句的执行次数是一个常数,一般来说,只要算法中不存在循环语句,其时间复杂度就是Ο(1)。

根据这个来说这道题不是Ο(1)吧