时间复杂度
就是在学习数据结构时,就第一章的时间复杂度和空间复杂度,我就弄不明白了。。。到底表达的是什么意思了?有什么用呢?哎。。。
比如:
程序代码:#include <stdio.h>
// 时间复杂度O(n)
int fun1()
{
int sum = 0;
for (int i = 1;i <= 100;i++)
{
sum += i;
}
return sum;
}
// 时间复杂度O(n/2)
int fun2()
{
int sum = 0;
for (int i = 1;i <= 50;i++)
{
sum += i + (101 - i);
}
return sum;
}
// 时间复杂度O(1)
int fun3()
{
return (1 + 100) * 100 / 2;
}
int main(int argc, char *argv[])
{
printf("%d\n", fun1());
printf("%d\n", fun2());
printf("%d\n", fun3());
return 0;
}
这三个函数的功能是一样的,但可以明确的是fun3的效率是最高的.而对于fun1和fun2,可以说fun2的效率是fun1的2倍,这就是时间复杂度的作用.









