时间复杂度
就是在学习数据结构时,就第一章的时间复杂度和空间复杂度,我就弄不明白了。。。到底表达的是什么意思了?有什么用呢?哎。。。
比如:
程序代码:
#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倍,这就是时间复杂度的作用.