常见算法时间复杂度表

常见的数量级大小:O(1)<O(logn)<O(n)<O(nlogn)<O( n2 )<O( n3 )<O( 2n )<O(n!)

数量级 能承受的大致规模 常见算法
O(1) 任意 直接输出结果
O(logn) 任意 二分查找、快速幂
O(n) 以百万计(五六百万) 贪心算法、扫描和遍历
O(nlogn) 以十万计(三四十万) 带有分治思想的算法,如二分法
O( n2 ) 以千计数(两千) 枚举、动态规划
O( n3 ) 不到两百 动态规划
O( 2n ) 24 搜索
O(n!) 10 产生全排列
O( nn ) 8 暴力法破解密码

O(1)叫常数时间;O(n)、O(n2)、O(n3)、O(n4)……叫做多项式时间;O(2n)、O(3n)……叫做指数时间。

你可能感兴趣的:(语言知识)