算法:程序运行的次数
O(1):常数复杂度
printf("hello world");
O(log n):对数复杂度
for (int i = 1; i < n; i = i * 2)
{
printf(hello world\n);
}
O(n):线性时间复杂度
for(int i = 1; i < n; i++)
{
printf("hello world\n");
}
O(n^2):平方
for(int i = 1; i < n; i++)
{
for (int j = 1; j < n; j++)
{
printf("hello world\n");
}
}
O(n^3):立方
for(int i = 1; i < n; i++)
{
for (int j = 1; j < n; j++)
{
for (int j = 1; j < n; j++)
{
printf("hello world\n");
}
}
}
O(2^n):指数
#include <math.h>
for(int i = 1; i < pow(2 , n); i++)
{
printf("hello world\n");
}
O(n!):阶乘
for(int i = 1; i <(n的阶乘); i++)
{
printf("hello world\n");
}
PS:只看最高复杂度的运算