按照存储介质分
内部排序:数据量不大,数据都在内存中,无需内外存进行交换数据
外部排序:数据量较大,数据在外存,排序时需要将数据换入换出内存
按比较器个数分
串行处理:单处理机 同一时刻比较一对元素
并行处理:多处理机 同一时刻比较多对元素
按主要操作分
比较排序:用比较的方法,如插入排序,交换排序,选择排序,归并排序
基数排序:不比较元素的大小,仅仅根据元素本身的取值确定其有序的位置
按照排序所需辅助空间可分为:
原地排序:空间复杂度为O(1),空间复杂度不会随着数据量的增大而增大
非原地排序:超过O(1)
根据稳定性来分:
稳定排序:如果排序中,序列中存在值相等的元素,如果排序后相对位置不变,即为稳定,例如 3 2 9 0 8 2‘,经过稳定排序后:0 2 2’ 3 8 9 ,第一个2还在前面
非稳定排序:0 2’ 2 3 8 9 ,不稳定排序
排序稳定性对结构型数据排序有意义:
按自然性来分:
自然排序:输入数据越有序,排序速度越快的排序算法
非自然排序:不是自然的排序的方法