Fork me on GitHub

转 排序算法概述

可能不全。或者有所错误。本人转载。

分类:

1)、插入排序(直接插入排序、折半插入排序、希尔排序)

2)、交换排序(冒泡排序、快速排序)

3)、选择排序(直接选择排序、堆排序)

4)、归并排序 mergeSort

5)、分配排序(箱排序(也称桶排序?)、radix Sort基数排序(也是桶排序?bucket Sort,其实基数排序是桶排序拓展))

 

所需辅助空间最多 归并排序

所需辅助空间最少 堆排序

平均速度最快 快速排序

不稳定  希尔排序 快速排序 堆排序   选择排序(*)

 

选择排序算法:

1、数据规模

2、数据类型

3、数据已有的顺序

1、一般来说,数据规模较小时,应选择直接插入排序或冒泡排序。任何排序算法在数据量小时基本体现不出来差距。

2、考虑数据的类型,比如全部是正整数,考虑使用桶排序最优

3、考虑数据已有的顺序,快排是一种不稳定的排序(可以改进),对大部分排好的数据,快排会浪费大量不必要的步骤。数据量极小,而且已经基本排好序,冒泡是最佳选择。我们说快排好,是指大量随机数据下,快排的效果最理想。而不是所有的情况/

总结

留在最后写吧。现在写了无非是一点时间 空间 稳定,也记不住。

 

posted @ 2019-06-12 09:21  EsMussSeinHui  阅读(125)  评论(0)    收藏  举报