时间复杂度(这是我自己的一些理解,如果有不对的希望大家多多指教)

T(n)f(n) g(n)没有别的特殊含义,都是定义了一个function,为了区分而进行不同的命名
T(n)T 代表了一个函数
T(n)=100n
f(n)=5n^2
当n接近于无穷大时
当T(n)/f(n)的极限值是≠0的常数(如固定不变的数如π)
T(n)=O(f(n)),T(n)也就是时间复杂度,写做O(f(n))。
在不考虑函数的情况下
T(n)=A
f(n)=B
也就是说当A/b≠0,A就是时间复杂度

时间复杂度大O的推导
1.如果n是常数(1234567890。。。)就用常数1来表示
2.只保留最高阶项
3.如果最高阶项不是1,则去除与最高项相乘的常数,如T(n) = 0.5n^2 + 0.5n,结果就是T(n) =  O(n^2)

常用的时间复杂度所耗费的时间从小到大依次是
O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

考虑算法在输入规模趋向无穷时的效率分析就是渐近分析。
渐近分析就是:忽略具体机器、编程或编译器的影响,只观察在输入尺寸n取趋向无穷时算法效率的表现.
简单来说就是忽略外部因素,只考虑n

关于log涉及到高中数学的知识,我做了一张图,大家可以简单看下


 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白不白12138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值