其他分享
首页 > 其他分享> > 时间&空间复杂度

时间&空间复杂度

作者:互联网

logn是什么意思_时间复杂度 O(log n) 意味着什么?

算法的时间与空间复杂度(一看就懂)

 

时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。

空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。

1、时间复杂度

一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大是,T(n)/f(n)的极限值为不等于零的常熟,则称f(n)是T(n)的同数量级函数,记作T(n )= O(f(n)),称O(f(n))为算法的渐进时间复杂度,简称时间复杂度。

复杂度量级(按数量级递增)

2、空间复杂度 

空间复杂度比较常用的有:O(1)、O(n)、O(n²)

3、应用

排序:十大基本算法

排序方法平均情况最好情况最坏情况空间复杂度稳定性
冒泡排序 O(n^2) O(n) O(n^2) O(1) 稳定
选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定
插入排序 O(n^2) O(n) O(n^2) O(1) 稳定
希尔排序 O(n^(1.3—2)) O(n^1.3) O(n^2) O(1) 不稳定
归并排序 O(n*log2(n)) O(n*log2(n)) O(n*log2(n)) O(n) 稳定
快速排序 O(n*log2(n)) O(n*log(n)) O(n^2) O(nlog2n) 不稳定
堆排序 O(n*log2(n)) O(n*log2(n)) O(n*log2(n)) O(1) 不稳定
计数排序 O(n+k) O(n+k) O(n+k) O(n+k) 稳定
桶排序 O(n+k) O(n) O(n^2) O(n+k) 稳定
基数排序 O(n*k) O(n*k) O(n*k) O(n+k) 稳定
 

标签:稳定,log2,复杂度,算法,时间,空间,排序
来源: https://www.cnblogs.com/liyonghua/p/16493565.html