【时空复杂度】

  • 用法

1.忽略常数项。

2.忽略系数。

3.只保留最高项。

  • 用途

1.判断做题时是否会TLE。

2.推算算法(暂时不学)。

常见的时空复杂度:从小到大依次是:O(1)(常数阶)<O(logn)(对数阶)<O(n)(线性阶)<O(nlogn)(线性对数阶)<O(n*n)(平方阶)<O(n*n*n)(立方阶)<O(2*2*2(n个2相乘))(指数阶)<O(n!)(阶乘阶)

1.有循环

1.1单层循环:直接看循环次数

1.2多层循环:直接把每层循环次数相乘即可

2.无循环 O(1)

数组命名方式:const int N=1000010;

int a[N];

查找一个数出现的第一个下标 暴力O(n) 正解:二分查找O(logn)

int x;

cin>>x;(带查找的数)

int l=1,r=n;

int mid=(l+r)>>1;(取中间点mid=(l+r)/2)

if(a[mid]>=x) r=mid;

else l=mid+1;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值