时间复杂度的分析

一般题目要求1s-2s,即复杂度<=10^8

题目要求n的范围,以及其时间复杂度和常见的题目

n<=30  指数级别  dfs+剪枝

n=100  即复杂度n^3  floyd

n=1000  即复杂度n^2

n=10000  即复杂度n*sqrt(n)  块状链表

n=100000  即复杂度nlogn  各种sort,线段树,树状数组,set/map,heap

n=1000000  即复杂度O(n),nlog,hash

n=10000000  即复杂度O(n)

n=10^9  即复杂度O(sqrt(n))

n=10^18 即复杂度O(logn),最大公约数

常见时间复杂度量级

1.线性阶

当n=1时,执行一次,当n=100时,执行100次,所以当为n时,执行n次,时间复杂度为O(n)

2.平方阶

外层循环和内层循环都是复杂度n时,外层循环一次,内层循环一次,所以复杂度是O(n^2)

3.对数阶

满足条件时,程序运行了,先设X个2相乘后大于n,则2^X=n,解得X=log2(n),所以时间复杂度是O(log2(n)),log以2为底,n为真数

常见的时间复杂度排序

O(1)< O(log2(n))< O(n)< O(nlog2(n)< O(n^2)< O(n^3)< O(2^n)< O(n!)< O(n^n)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值