含义
算法的时间复杂度通常用大O符号表述,定义为T[n] = O(f(n))。
大O表示法,用于描述计算机算法的效率,在计算机中,这是一种粗略的度量。
这个其实就是当数据项个数发生变化时,算法的效率会跟着发生变化。
推导出大O表示法的方式
① 用常量1取代运行时间中所有的加法常量。
② 在修改后的运行次数函数中,只保留最高阶项。
③ 如果最高存在且不为1,则去除这个项乘积的系数。
常见的大O表示形式
符号名称
O(1)常数O(log(n))对数O(n)线性O(nlog(n))线性和对数乘积O(n^2)平方O(2^n)指数O(n!)阶乘
对应的图形增长趋势
常用的时间复杂度所消耗的时间从小到大依次是:
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n!)