【JS数据结构与算法】大O表示法

含义

算法的时间复杂度通常用大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!)

猜你喜欢

转载自blog.csdn.net/weixin_42339197/article/details/101934232
今日推荐