1、常数阶O(1)
执行的次数恒定,不会随着n的变化发生变化,所以单纯的分支结构(不包含在循环结构中),其时间复杂度是O(1)。
2、线性阶O(n)
int i;
for(i=0;i<n;i++)
{
/*时间复杂度为O(1)的程序步骤*/
}
3、平方阶O(n2)/O(m*n)
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
/*时间复杂度为O(1)的程序步骤*/
}
}
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
/*时间复杂度为O(1)的程序步骤*/
}
}
4、对数阶O(logn)
int count=1;
while(count>n)
{
count=count*2;
/*时间复杂度为O(1)的程序步骤*/
}
5、O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)