时间复杂度分析
时间复杂度总结
1、只保留高阶项
2、不要系数
1.常数的时间复杂度为O(1)。
2.对于一个循环,假设循环体的时间复杂度为 O(n),循环次数为 m,则这个
循环的时间复杂度为 O(n×m)。
void Fun()
{
for(int i = 0; i < n; i++)
{
printf("Hello, World!\n");
}
}
此时时间复杂度为 O(n × 1),即 O(n)。
3.对于多个循环,假设循环体的时间复杂度为 O(n),各个循环的循环次数分别是a, b, c…,则这个循环的时间复杂度为 O(n×a×b×c…)。
void Fun()
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
printf("Hello, World!\n");
}
}
}
此时时间复杂度为 O(n × n × 1),即 O(n^2)。