一、根据时间复杂度不同,主流排序算法可以分为三大类:
1.时间复杂度为O(n**2)的排序算法
冒泡排序
选择排序
插入排序
希尔排序(希尔排序比较特殊,他的性能略优于O(n**2),但又比不上O(nlogn)),姑且把它归入本类
2.时间复杂度为O(nlogn)的排序算法
快速排序
归并排序
堆排序
3.时间复杂度为线性的排序算法
计数排序
桶排序
基数排序
二、根据稳定性,划分为稳定排序和不稳定排序
1.如果值相同的元素在排序后仍然保持着排序前的顺序,则这样的排序算法是稳定排序
2.如果值相同的元素在排序后打乱了排序前的顺序,则这样的排序算法是不稳定排序
数据结构之排序算法分类
最新推荐文章于 2023-09-08 20:39:23 发布