数据结构的排序算法中,哪些排序是稳定的,哪些排序是不稳定的?_百度知 ...
一、稳定排序算法
1. 冒泡排序
2. 鸡尾酒排序
3. 插入排序
4. 归并排序
5. 基数排序
6. 合并排序
7. 基数排序
8. 二叉排序树排序
二、不稳定排序算法
1. 选择排序
2. 希尔排序
3. 快速排序
4. 堆排序
5. 平滑排序
6. 快速排序排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。不稳定排序算法可能会在相等的键值中改变纪录的相对次序,但是稳定排序算法从来不会如此。不稳定排序算法可以被特轮亩判别地实现为稳定。做这件事情的一个方式是人工扩充键值的比较,如此在其他方面相同键值的两个对象间之比较,就会被决定使用在原先数据次序中的条目,当作一个同分决赛。然而,要记住这种次序通常牵涉到额外的空间负担。
扩展资料:排序算法的分类
1. 通过时间复杂度分类:计算的复杂度(最差、平均、和最好性能),依据列表(list)的大小(n)。一般而言,好的性能是 O(nlogn),且坏的性能是 O(n^2)。对于一个排序理想的性能是 O(n)。而仅使用一个抽象关键比较运算的排序算法总平均上总是至少需要 O(nlogn)。
2. 通过空间复杂度分类:存储器使用量(空间复杂度)(以及其他电脑资源的使用)
3. 通过稳定性分类:稳定的排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。
参考资料来源:百度百科-排序算法
1. 冒泡排序
2. 鸡尾酒排序
3. 插入排序
4. 归并排序
5. 基数排序
6. 合并排序
7. 基数排序
8. 二叉排序树排序
二、不稳定排序算法
1. 选择排序
2. 希尔排序
3. 快速排序
4. 堆排序
5. 平滑排序
6. 快速排序排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。不稳定排序算法可能会在相等的键值中改变纪录的相对次序,但是稳定排序算法从来不会如此。不稳定排序算法可以被特轮亩判别地实现为稳定。做这件事情的一个方式是人工扩充键值的比较,如此在其他方面相同键值的两个对象间之比较,就会被决定使用在原先数据次序中的条目,当作一个同分决赛。然而,要记住这种次序通常牵涉到额外的空间负担。
扩展资料:排序算法的分类
1. 通过时间复杂度分类:计算的复杂度(最差、平均、和最好性能),依据列表(list)的大小(n)。一般而言,好的性能是 O(nlogn),且坏的性能是 O(n^2)。对于一个排序理想的性能是 O(n)。而仅使用一个抽象关键比较运算的排序算法总平均上总是至少需要 O(nlogn)。
2. 通过空间复杂度分类:存储器使用量(空间复杂度)(以及其他电脑资源的使用)
3. 通过稳定性分类:稳定的排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。
参考资料来源:百度百科-排序算法