大O表示法
时间复杂度的表示:使用大O表示法来简化表示时间复杂度。
1、复杂度为常数,如23,9999,等等 都表示为O(1)
2、复杂度包含n时,省略系数与常数项,选择 n的最高阶项, 如:2n+45 为 O(n) ; 4n^3+6n^2+n 为O(n^3)
3、复杂度为对数时:如log5(n)、log2(n) 等等 都表示为 O(logn)
4、省略低阶,只选高阶 (记取最大的), 如:logn+nlogn 表示为O(nlogn)
复杂度的大小
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
复杂度越小,则说明你的代码越好
当两个算法的时间复杂度一致时,比如,均为O(n)时,则比较常数项,但是实际上选择使用跑一下可能更方便。