算法时空复杂度总结
数量级 | 能承受的大致规模 | 常见算法
O(1) 任意 直接输出
O(logn) 任意 二分查找、快速幂
O(n) 以百万计(五六百万) 贪心算法、扫描和遍历
O(nlogn) 以十万计(三四十万) 带有分治思想的算法,如二分法
O(n2) 以千计数(两千) 枚举、动态规划
O(n3) 不到两百 动态规划
O(2n) 两位数 搜索
O(n!) 个位数 产生全排列
O(nn) 个位数 暴力法破解密码
O(1)叫常数时间;
O(n)、O(n2)、O(n3)、O(n^4)…… 叫做多项式时间;
O(2n)、O(3n)……叫做指数时间。