数据结构的排序算法中,哪些排序是稳定的,哪些排序是不稳定的?

如题所述

第1个回答  2024-04-17
一、稳定排序算法
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. 通过稳定性分类:稳定的排序算法会依照相等的关键(换言之就是值)维持纪录的相对次序。
参考资料来源:百度百科-排序算法
相似回答