各种排序算法比较及时间复杂度,空间复杂度

转载 2016年08月31日 13:12:37

搜集基本常用算法的时间/空间复杂度


空间复杂度
冒泡排序,简单选择排序,堆排序,直接插入排序,希尔排序的空间复杂度为O(1),因为需要一个临时变量来交换元素位置,(另外遍历序列时自然少不了用一个变量来做索引)

快速排序空间复杂度为logn(因为递归调用了) ,归并排序空间复杂是O(n),需要一个大小为n的临时数组.

基数排序的空间复杂是O(n),桶排序的空间复杂度不确定


最快的排序算法是桶排序
所有排序算法中最快的应该是桶排序(很多人误以为是快速排序,实际上不是.不过实际应用中快速排序用的多)但桶排序一般用的不多,因为有几个比较大的缺陷.

1.待排序的元素不能是负数,小数.

2.空间复杂度不确定,要看待排序元素中最大值是多少.

所需要的辅助数组大小即为最大元素的值.



参考:

http://blog.csdn.net/weiwenhp/article/details/8622728



举报

相关文章推荐

各种排序算法比较(2):时间复杂度,空间复杂度

时间复杂度 n^2表示n的平方,选择排序有时叫做直接选择排序或简单选择排序 排序方法 平均时间 最好时间 最坏时间 桶排序(不稳定) O(n) O(n)...

各种排序算法比较:时间复杂度,空间复杂度

时间复杂度 n^2表示n的平方,选择排序有时叫做直接选择排序或简单选择排序 排序方法 平均时间 最好时间 最坏时间 桶排序(不稳定) O(n) O(n)...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

算法复杂度——时间复杂度和空间复杂度

算法复杂度——时间复杂度和空间复杂度 关键字: 算法复杂度 时间复杂度 空间复杂度 1、时间复杂度   (1)时间频度 一个算法执行所耗费的时间,从理论上是不能...

算法复杂度——时间复杂度和空间复杂度

1、时间复杂度   (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花...

算法复杂度——时间复杂度和空间复杂度

1、时间复杂度    (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花...

算法复杂度——时间复杂度和空间复杂度

1、时间复杂度    (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花...

排序算法的时间复杂度和空间复杂度

常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。 一、冒泡排序:    1.基...

【C++】各种排序运行时间的测试

【C++】各种排序运行时间的测试 冒泡排序,插入排序,希尔排序,快速排序,堆排序,选择排序,计数排序,基数排序。

排序算法的时间复杂度和空间复杂度

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法:   这是最原始,也是众所周知的最慢的算法了。他的名字的由来因...

排序算法时间复杂度和空间复杂度比较

时间复杂度 n^2表示n的平方,选择排序有时叫做直接选择排序或简单选择排序 排序方法 平均时间 最好时间 最坏时间 桶排序(不稳定) O(n) O(n) O(n) 基数排序(稳定) O(n) O(n)...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)