时间复杂度

前言

算法的效率评估分为:

  • 时间效率,即时间复杂度 (\text{Time Complexity})(Time Complexity);

  • 空间效率,即空间复杂度(\text{Space Complexity})(Space Complexity)。

现在绝大多数情况下,空间复杂度受限的可能性较低,且优化代价高,效果差,所以以考虑时间复杂度为主。

时间复杂度并非指绝对时间,而是评估随着输入规模的增长,消耗时间的增长量级。

定义

nn:输入规模。简单举例,输入为矩阵,nn 可以根据具体场景定义为行数,也可以定义为列数,也可以定义为元素个数,根据需求进行定义。

\text{C}(n)C(n):基本操作次数

\text{t}(n)t(n):一个算法的运行时间(常用 \text{C}(n)C(n) 表示)

\text{g}(n)g(n):一个用来和操作次数做比较的函数

\text{O}O:算法复杂度的上边界,用来评估最恶劣情况,用于算法选取,常写作 \text{O}(\text{g}(n))=n^2O(g(n))=n2 或者 \text{O}(n)=n^2O(n)=n2

ΩΩ:算法复杂度的下边界,用来评估最优情况,用于算法初选

θθ:算法复杂度的上下边界带,用于评估算法时间稳定性

复杂度等级

1<\log<n<n\log{n}<n^2<n^3<2^n<n!1<log<n<nlogn<n2<n3<2n<n!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值