You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

时间复杂度BigO疑问:O(5 log n)是否比O(n)更快?

关于BigO符号与时间复杂度的答疑

1. 复杂度增长顺序纠正

你之前的顺序记反了,正确的增长速度(从慢到快)是:
O(log n) < O(n) < O(n log n)
数据规模n越大,这个差距越明显——log n的增长极其缓慢,n是线性增长,而n乘log n是线性与对数的复合增长,速度远快于前两者。

2. O(n log n)中的n是什么

这里的n和O(n)、O(log n)里的n是同一个概念:输入数据的规模。比如你排序一个包含10000个元素的数组,n就是10000;处理百万级的用户数据,n就是1000000。
O(n log n)表示算法的执行时间和「n × log n」成正比,常见的快速排序、归并排序这类高效排序算法,时间复杂度就属于这个类别。

3. O(5 log n)与O(n)的对比

你的理解完全正确:

  • BigO符号的核心是描述增长趋势,常数项会被忽略,所以O(5 log n)等价于O(log n)
  • 当n足够大时,log n的增长速度远慢于n,因此O(5 log n)的算法会比O(n)的算法快得多。举个实际例子:当n=100000时,log₂n≈17,5×17=85,而n=100000,两者的差距一目了然,而且n越大,这个差距会拉得越开。

内容的提问来源于stack exchange,提问作者Daeton Harris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:12:12