跳转至

算法笔记

排序算法对比

算法 平均 最坏 空间 稳定
冒泡排序 O(n²) O(n²) O(1) ✅
快速排序 O(n log n) O(n²) O(log n) ❌
归并排序 O(n log n) O(n log n) O(n) ✅
堆排序 O(n log n) O(n log n) O(1) ❌

快速排序示例

def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    mid = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quicksort(left) + mid + quicksort(right)

相关链接