数据结构 求时间复杂度

来源:百度知道 编辑:UC知道 时间:2024/05/19 17:59:21
1. void func2(int a[], int n, int k)
{
int i=0;
while(i<n && a[i]!=k)
i++;
return (i);
}

2.void fun3 (int n)
{
int i,k;
i=1;k=100;
while(i<n)
{k=k+1;
i+=2;
}
}

3. void mergesort (int i,int j)
{
int m;
if(i!=j)
{
m=(i+j)/2;
mergesort(i,m);
mergesort(m+1,j);
merge(i,j,m);
}
}

看不懂书,要是能顺便解答解题思路不胜感谢!

计算时间复杂度就是看程序中循环语句的次数,一般是for或while,单条代码的时间复杂度可忽略不计!
上面三个题的时间复杂度用阶表示:
1.O(n)
2.O(n)
3.O(nlogn)

前两个是O(n)的
后一个是O(nlogn)的