我们知道计算机在运算时速度是固定的,程序运行的时间就与程序复杂程度有关。例如我们计算1-10相加 与 1-100相加,后者就要比前者多10倍时间。
例1 找出n个数中最大的一个
max= n[0] for(int i=0;i<n.lenght;++i){ if(max<n[i]){ max = n[i] } }
我们通过这种方式计算 需要 n-1
例2 排序n个数
我们继续用上个算法,分别取出最大的数 也就是 (n-1) +(n-2)+(n-3)+...+1
在例1中如果n趋近于无穷大 那么复杂程度可以等于 n O(n)
同理例2 复杂程度就是 n^2 O(n^2)