跳过正文
  1. 全部/
  2. 笔记/
  3. 面试题/

数据结构

排序算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度稳定性备注
冒泡排序 (Bubble Sort)O(n²)O(n)O(n²)O(1)稳定实现简单,可提前结束
选择排序 (Selection Sort)O(n²)O(n²)O(n²)O(1)不稳定交换次数最少
插入排序 (Insertion Sort)O(n²)O(n)O(n²)O(1)稳定小规模数据表现优秀
希尔排序 (Shell Sort)O(n log n)~O(n²)O(n log n)O(n²)O(1)不稳定插入排序优化版
归并排序 (Merge Sort)O(n log n)O(n log n)O(n log n)O(n)稳定分治思想,链表排序常用
快速排序 (Quick Sort)O(n log n)O(n log n)O(n²)O(log n)不稳定面试出现频率最高
堆排序 (Heap Sort)O(n log n)O(n log n)O(n log n)O(1)不稳定适合TopK问题
计数排序 (Counting Sort)O(n+k)O(n+k)O(n+k)O(k)稳定适合整数范围较小
桶排序 (Bucket Sort)O(n+k)O(n+k)O(n²)O(n+k)视实现而定数据分布均匀时效果好
基数排序 (Radix Sort)O(d(n+k))O(d(n+k))O(d(n+k))O(n+k)稳定按位排序
Reply by Email