算法复杂度分为时间复杂度和[/size]空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。
容易计算的方法是:看看有几重for循环,只有一重则时间复杂度为O(n),二重则为O(n^2),依此类推,如果有二分则为O(logn),二分例如快速幂、二分查找,如果一个for循环套一个二分,那么时间复杂度则为O(nlogn)。
按数量级递增排列,常见的时间复杂度有:
常数阶为O(1),线性阶为O(n),k次方阶为O(n的k次) 指数阶为O(2的n次)