LeetCode链接:921. 排序数组
-
算法 - 冒泡排序(Bubble Sort)
-
算法 - 选择排序(Selection Sort)
-
算法 - 堆排序(Heap Sort)
-
算法 - 插入排序(Insertion Sort)
-
算法 - 归并排序(Merge Sort)
-
算法 - 快速排序(Quick Sort)
-
算法 - 希尔排序(Shell Sort)
-
算法 - 计数排序(Counting Sort)
-
算法 - 基数排序(Radix Sort)
-
算法 - 桶排序(Bucket Sort)
排序算法的稳定性(Stability)
- 如果相等的2个元素,在排序前后的相对位置保持不变,那么这是稳定的排序算法
- 对自定义对象进行排序是,稳定性会影响最终的排序效果
- 冒泡排序属于稳定的排序算法
- 稍有不慎,稳定你的排序算法也可能被写成不稳定的排序算法
原地算法(In-place Algorithm)
原地算法(In-place Algorithm)
- 不依赖额外的资源或者依赖少数的额外资源,仅依靠输出来覆盖输入
- 空间复杂度为O(1)的都可以认为是原地算法
- 非原地算法,成为Not-in-place或者Out-of-place
- 冒泡排序属于In-place
十大排序算法
- 以上表格是基于数组进行排序的一般性结论
- 冒泡、选择、插入、归并、快速、希尔、堆排序,属于比较排序