【算法】时间复杂度

常数时间的操作

操作和数据样本的数据量没有关系,每次都是固定时间内完成的操作叫常数操作

时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作big O)来表示。最差情况
先对一个算法流程熟悉,总结出 常数操作的数量表达式

在表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果为f(N),那么时间复杂度为O(f(N))

评价一个算法流程的好坏,先看时间复杂度的指标,在分析不同数据样本下的实际运行时间,也就是“常数项时间”

常见的复杂度

  • 常数时间复杂度(O(1)):不论输入规模的大小,算法都需要恒定的时间。
  • 线性时间复杂度(O(n)):算法的执行时间与输入规模成正比,例如遍历一个数组或者链表。
  • 对数时间复杂度(O(logn)):算法的执行时间随着输入规模的增长而稍微增加,例如二分查找算法。
  • 线性对数时间复杂度(O(nlogn)):算法的执行时间比纯线性复杂度稍高,例如快速排序算法或者归并排序算法。
  • 平方时间复杂度(O(n^2)):算法的执行时间与输入规模的平方成正比,例如嵌套循环。
  • 指数时间复杂度(O(2^n)):算法的执行时间随着输入规模的指数级增长,例如穷举法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值