算法复杂度及简单计算

本文介绍了算法复杂性和计算时间复杂度的概念,重点讲解了大O表示法,包括定义、性质和常见化简规则。讨论了常数阶、线性阶和对数阶的时间复杂度,并强调在计算复杂度时应关注最高次项。同时指出,对于多层循环,最内层循环的频率决定了算法的时间复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复杂性

计算复杂性指出了算法的应用需要付出多大的代价。一般涉及两种效率标准,时间和空间。时间因素比空间因素更重要,因此效率的考虑通常都是集中在处理数据耗费的时间上。(编译执行的程序比解释执行的程序运行得快)
通过计算给出源函数效率的近似结果的效率尺度称为渐变复杂度,对于处理大量数据的函数来说,近似结果用于忽略函数的某些项,非常接近真实值。

算法复杂度速查

https://mp.weixin.qq.com/s/brg9JlEB8zoWXhBc-BxUcw?

大O表示法

定义:
如果存在正数c和N使得对所有的n>=N都有f(n)<=cg(n),那么f(n)=O(g(n))。

对f和g的关系可以这样描述:g(n)是f(n)值的上界。

例如: f(n) = 2n²+3n+1 = O(n²)

性质:
  1. 加法规则

T(n,m) = T1(n) + T2(n) = O (max (f(n),g(m))

  1. 乘法规则

T(n,m) = T1(n) * T2(m) = O (f(n) * g(m))

特例,如果T1(n) = O(b) ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值