排序方法

· · 个人记录

算法 时间复杂度(最坏) 时间复杂度(最好) 时间复杂度(平均) 是否稳定
归并排序 O(n log n) O(n log n) O(n log n) ✅ 稳定
插入排序 O(n²) O(n) O(n²) ✅ 稳定
选择排序 O(n²) O(n²) O(n²) ❌ 不稳定
冒泡排序 O(n²) O(n) O(n²) ✅ 稳定

补充说明

  1. 时间复杂度

    • O(n log n):表示算法效率较高,适合处理大规模数据(如归并排序)。
    • O(n²):表示效率较低,适合小规模数据或教学演示(如插入排序、选择排序、冒泡排序)。
    • O(n):表示在特定情况下(如数组已有序)效率最优。
  2. 稳定性

    • 稳定:相同元素的相对顺序在排序后保持不变(如归并排序、插入排序、冒泡排序)。
    • 不稳定:相同元素的相对顺序可能被改变(如选择排序)。