算法基础 几个常见的比较排序
2011-04-13 16:08
337 查看
排序算法 时间复杂度 最差时间复杂度
冒泡 O(n*n)
插入 O(n*n)
选择 O(n*n)
归并 O(nLogn)
堆 O(nLogn)
快速 O(nLogn) O(n*n)
一般来说 最常用的排序是快速排序 ,实现简单 效率快,
对比对排序和归并排序, 快速排序的系数比较小,所以都是NlogN的时候会比较快
PS: 在数据量比较小的时候 最好别用归并排序...不过数据量小的时候这个时间无所谓啦
在大数据量或者特殊情况或者特别优化的情况下 还是有算法比快速排序快的 只是比较少遇到
PS2:已经有很多证明,比较排序的时间复杂度不可能低于nLogn
最近难得有空重新拿起算法导论看一遍..blog这里就当作笔记吧...
冒泡 O(n*n)
插入 O(n*n)
选择 O(n*n)
归并 O(nLogn)
堆 O(nLogn)
快速 O(nLogn) O(n*n)
一般来说 最常用的排序是快速排序 ,实现简单 效率快,
对比对排序和归并排序, 快速排序的系数比较小,所以都是NlogN的时候会比较快
PS: 在数据量比较小的时候 最好别用归并排序...不过数据量小的时候这个时间无所谓啦
在大数据量或者特殊情况或者特别优化的情况下 还是有算法比快速排序快的 只是比较少遇到
PS2:已经有很多证明,比较排序的时间复杂度不可能低于nLogn
最近难得有空重新拿起算法导论看一遍..blog这里就当作笔记吧...
相关文章推荐
- python常见排序算法基础教程
- 基础数据结构与算法之非比较排序一:计数排序
- 常见算法基础之排序
- C++基础算法练习之排序比较
- 几种常见的排序算法之比较
- 常见算法基础题思路简析(一)-排序篇
- 【转】几种常见的排序算法之比较
- 几种常见的排序算法之比较
- Java基础三种常见交换算法的比较
- C算法_基础数据结构18/1/30 8大排序
- 算法与数据结构基础(一)排序基础1.选择排序
- 算法基础-直接插入排序
- 【算法】算法初步:聊一聊常见排序的算法
- 【算法】6 比较排序之外学习新的线性时间排序
- 【算法】6 比较排序之外学习新的线性时间排序
- 几个常见的“算法”小程序
- 快速排序以及常见排序算法性能对比
- 【算法之常用排序算法(二)】常用排序算法性能比较,及常见面试题
- PHP写的几个基础算法 (转载)
- 常见算法之排序一【冒泡排序】