时间复杂度的概念
首先,算法会最终编译成具体的计算机指令,而每一个指令在计算机上运行的时间是固定的。
时间复杂度是指最坏的时间复杂度,即最久的运行时间。我们在判断时间复杂度时,需要关注最高次项,只有常数项的记作1。具体在下方介绍。
大O表示法
我们一般使用大O表示法表示时间复杂度,直接来几个例子。
void myprint()
{
int sum = 0; n = 100;
sum = (1+n)*n/2;
cout<< sum <<endl;
}
在图上,我们可以从行数得出程序运行了3步,即用大O表示法表示为O(3),但在第一段说过“只有常数项的记作1”,不论n如何变化,程序都是有限的步骤,所以不论是O(3),O(10)还是O(10000),我们都表示为O(1)。
void myprint(int n)
{
int i ;
for(i