算法的时间复杂度
常数阶O(1)
就是哪些无循环,无递归,与问题输入规模N无关的,逐行执行的代码
线性阶O(n)
与问题输入规模有关的,主要是一层循环的代码,多个一层循环可以并列,但是不能包含
线性阶O(n+m)
和线性阶一样,只不过我们有两种数据的输入规模
平方阶O(n^2)
与问题输入规模有关的,主要是二层嵌套循环的代码
平方阶O(nm)
和O(n^2)一样,只不过我们有两种数据的数据规模
对数阶O(log^n)
与问题输入规模有关的,主要是一层循环迭代或递归的代码(相当于是加速度减小的加速运动)
常见的阶比较
时间复杂度简单计算:忽略常数,只保留幂高项,并且忽略幂高项的系数
如果出现了复杂度出现了2^n,n!,n^3就应该修改程序了!!