1.排序的基本概念
排序是计算机内经常进行的一种操作,其目的是一组无序的数据元素调整为有序的数据元素.
2.排序数学定义
3.排序的稳定性
如果在序列中有两个元素r[i]和r[j],它们的关键字k[i]和k[j],且在排序之前,对象r[i]和r[j]前面,如果在排序之后,
对象r[i]仍然在r[j]前面,则称这个排序方法是稳定的,否则称这个排序算法是不稳定的.
4.多关键字排序
排序是需要比较的关键字多于一个,排序结果先按照关键字1进行排序,当关键字1相同时按照关键字2进行排序,
当关键字n-1相同时按照关键字n进行排序,对于多关键字排序,知悉要在比较操作时同时考虑多个关键字即可.
5.排序中的关键操作
比较:任意两个元素通过比较操作确定先后次序.
交换:数据元素之间需要交换才能得到预期结果.
6.内排序和外排序
内排序:在排序过程中,待排序的所有记录都放置在内存中.
外排序:由于排序的记录个数太多,不能同时放置在内存,整个排序过程需要在外存之间多次交换数据才能进行.
7.排序的审判
1.时间性能:关键性能差异体现在比较和交换的数量;
2.辅助存储空间:为完成排序操作需要额外的存储空间,必要时可以空间交换时间;
3.算法的实现复杂度:过于复杂的排序算法会影响代码的可读性和可维护性,也可能影响排序的性能.
8.总结
排序是数据元素从无序到有序的过程.
排序具有稳定性,是选择排序算法的因素之一.
比较和交换是排序的基本操作.
多关键字排序和单关键字排序无本质区别.
排序的时间性能是区分排序算法好坏的主要因素.