【复杂度】时间复杂度的理解

算法追求:更少的时间和更少的存储。

1.什么是时间复杂度

就是算法的运行时间,假设每行代码执行时间为t,则算法运行时间 = 代码总行数 × t。
以下代码执行的时间 = 1t+m×t+m×t = (1+2m)t
image

T(n) 表示算法执行时间。

f(n) 表示所有语句执行次数,则对于上面的代码 f(n)=1+2n

T(n)=f(n)×t=(1+2n)×t

算法执行时间 T(n) 和数据规模n相关,n 趋近于无穷时,T(n) 有一个增长趋势。
使用大O表示这种增长趋势,大 O=O(f(n)) 可以直接用来表示时间复杂度。
大O表示增长趋势,有如下公式

  1. O(kf(n))=O(f(n))
  2. O(f(a))=O(f(b))
  3. O(f(n)+g(n))=O(maxO(f(n)),O(g(n)))

image

参考:

  1. 时间复杂度的理解和计算
  2. 用通俗的语言讲解复杂度
posted @   植树chen  阅读(154)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示