复杂度分析

本文详细介绍了算法的时间复杂度和空间复杂度,包括快速幂、KMP、线段树等典型算法的时间复杂度,以及常见数据类型的内存占用情况。同时,文中还列举了不同时间复杂度下算法能处理的最大数据规模。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间复杂度

常见复杂度对应算法

时间复杂度算法举例
O(lgn)O(lg n)O(lgn)快速幂、数位dp
O(n)O(n)O(n)KMP、欧拉筛法
O(nlgn)O(n lg n)O(nlgn)线段树
O(n2)O( n ^2 )O(n2)某些dp
O(n3)O(n^3)O(n3)匈牙利算法
O(2n)O(2^n)O(2n)二进制枚举
O(3n)O(3^n)O(3n)Floyd
O(n!)O(n!)O(n!)爆搜

空间复杂度

常见数据类型占空间大小

数据类型空间(Byte)
int4
char1
long long8
float4
double8
指针4/8

常见复杂度能在1s内计算的最大数据规模

时间复杂度对应数据规模
O(lgn)O(lg n)O(lgn)很大
O(n)O(n)O(n)107
O(nlgn)O(n lg n)O(nlgn)105
O(n2)O( n ^2 )O(n2)5000
O(n3)O(n^3)O(n3)500
O(2n)O(2^n)O(2n)20
O(3n)O(3^n)O(3n)16
O(n!)O(n!)O(n!)12
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值