数据结构–时间复杂度算法
分别写出时间复杂度为o(1)、o(n)、o(n²)、o(log n)的算法:
1、O (1)
#include <iostream>
using namespace std;
int main()
{
int x;
x++;
cout<<x;
return 0;
}
2、O(n)
#include <iostream>
using namespace std;
int main()
{
int n=9;
int x=1;
int s=0;
for(int i=1;i<=n;++i)
{
x++;
s+=x;
}
cout<<s;
return 0;
}
3、O(n²)
#include <iostream>
using namespace std;
int main()
{
int n=9;
int x=1;
int s=0;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=n;++j)
{
x++;
s+=x;
}
}
cout<<s;
return 0;
}
4、O(log n)
#include <iostream>
using namespace std;
int main()
{
int n=9;
int x=1;
int i=0;
while (i<n)
{
x=x*2;
i++;
}
cout<<x;
return 0;
}
这是几种常见的复杂度,在后面讲排序的时候会常见。