时间复杂度分析
时间复杂度是一个函数,它定性描述该算法的运行时间。
什么是时间复杂度
假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示,随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度,记为 O(f(n))。
什么是大O
算法导论给出的解释:大O用来表示上界的,当用它作为算法的最坏情况运行时间的上界,就是对任意数据输入的运行时间的上界。
但默认规定下时间复杂度指的都是一般情况。比如:
一般都说O(nlogn)为快速排序的时间复杂度,这里的O就代表了一般情况,而不是严格的上界。
复杂表达式的化简
这里记录一下一些计算时间复杂度时复杂表达式的化简方法。
比如有算式:O(2*n^2