衡量算法的优劣:
1、时间复杂度:主要是分析关键字的比较次数和记录的移动次数
2、空间复杂度:分析排序算法中需要多少辅助内存
3、稳定性:若两个记录 A 和 B 的关键字值相等,但排序后 A、B 的先后次序保持不变,则称这种排序算法是稳定的,反之,就是不稳定的。
排序大致可分为内部排序和外部排序。如果整个排序不需要借助于外部存储器(如磁盘等),所有的排序操作都在内存中完成,这种排序就被称为内部排序。
常说的排序都是指内部排序,而不是外部排序。
内部排序的大致分类:
1、选择排序(直接选择排序,堆排序)
2、交换排序(冒泡排序、快速排序)
3、插入排序(直接插入排序、折半插入排序、Shell排序)
4、归并排序
5、桶式排序
6、基数排序