数据结构--算法时间复杂度的理解

今后将开启一栏数据结构的专题栏目,记录自己的数据结构的学习成果-- 2020-5-28

算法的时间复杂度,比较俩个算法的时间复杂度时,常常使用极限的思想来比较,如T(n1)的算法为 n
T(n2)的算法为n平方 那么根据极限的比较 lim x->无穷 n/n的平方 等于 1/n =0 这样 我们就说 T(n1)是T(n2 )的高阶无穷小 及 T(n1)的时间复杂度相对于 T(n2 )来说 是更简单的

计算一个算法的 T(n)时 只需要计算它的最高次幂 如 T(n)= x的n次方 + x +3000 那么它也是等于 x的n次方

比较俩个算法的 T(n)时 可以使用简单的口诀 “常对幂指阶” 来进行快速计算
例题:以下T(n)表示各算法中最耗时操作的执行次数,n表示数据量,请按照时间复杂度从小到大排列,正确的是()。

T1(n) = 100n + 200
T2(n) = 3n^2
T3(n) = 10000000

T4(n) = 300

A. T1<T2<T3<T4

B.T2<T1<T4<T3

C.T3<T4<T1<T2

D.T3<T1<T4<T2

通过 口诀我们可以快速的 算出 答案为C

口诀的坐标图:
在这里插入图片描述

在实际开发中,我们尽可能的减少我们算法的时间复杂度
如果一个软件的用户量有10万,代码中引用一层for循环 那么它的时间复杂度是O(n) =100000 如果代码中镶嵌for循环(俩层for循环)那么它的时间复杂度就是O(n的平方)=10万的平方 这么大的运算量,就算是很多服务器,也是很容易出问题的,所以在实际开发中,我们尽可能的减少我们算法的时间复杂度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值