定义:

根据某个关键字,对序列对象进行排序。

术语:

1,稳定:如果a原本在b的前面,而a==b,排序之后仍然在b的前面。

2,不稳定:如果a原本在b的前面,而a==b,排序之后a可能出现在b的后面。

3,内排序:所有排序操作都是在内存中完成。

4,外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行。

5,时间复杂度:一个算法执行所耗费的时间。

6,空间复杂度:运行完一个程序所需内存的大小。

算法总结:

其中,n表示数据规模;k表示“桶”的个数;In-place表示占用常数内存,不占用额外内存;Out-place表示占用额外内存。

算法分类:

比较和非比较的区别

1,常见的快速快速排序,归并排序,插入排序,冒泡排序等属于比较排序。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置。比较排序的优势是,适用于各种规模的数据,也不在乎数据的分布,都能进行排序。可以说,比较排序适用于一切需要排序的情况。

2,计数排序,基数排序,桶排序则属于非比较排序。非比较排序是通过确定每个元素之前,应该有多少个元素来排序。非比较排序时间复杂度底,但由于非比较排序需要占用空间来确定唯一位置,所以对数据规模和数据分布有一定的要求。

 posted on 2018-08-01 19:49  会飞的金鱼  阅读(103)  评论(0)    收藏  举报