常用数据结构操作与算法复杂度总结


博客: blog.shinelee.me | 博客园 | CSDN

时间复杂度

如何评估一个算法的计算时间?

一个算法的实际运行时间很难评估,当时的输入、CPU主频、内存、数据传输速度、是否有其他程序在抢占资源等等,这些因素都会影响算法的实际运行时间。为了公平地对比不同算法的效率,需要脱离开这些物理条件,抽象出一个数学描述。在所有这些因素中,问题的规模往往是决定算法时间的最主要因素。因此,定义算法的时间复杂度 T ( n ) T(n) T(n),用来描述算法的执行时间随着输入规模的增长将如何变化,增长速度是怎样的

在输入规模较小时,运行时间本来就少,不同算法的差异不大。所以,时间复杂度通常关注的是输入规模 n n n较大时运行时间的变化趋势,称之为渐进复杂度,采用大O记号,表示渐进上界,对于任意的 n > > 2 n >> 2 n>>2,若有常数 c c c和函数 f ( n ) f(n) f(n)满足
T ( n ) ≤ c ⋅ f ( n ) T(n) \leq c \cdot f(n) T(n)cf(n)
则记作
T ( n ) = O ( f ( n

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值