一招速记十大排序算法比较图

  你是否在为排序算法的时间复杂度、空间复杂度和稳定性的记忆而绞尽脑汁。下面一首打油诗帮你牢记它。

常见排序算法

中文名称 英文名称 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性
选择排序 Selection O(n^2) O(n^2) O(n^2) 1 不稳定
冒泡排序 Bubble O(n^2) O(n^2) O(n) 1 稳定
插入排序 Insertion O(n^2) O(n^2) O(n) 1 稳定
快速排序 Quick

O(n㏒₂n)

O(n^2) O(n㏒₂n) ㏒₂n 不稳定
归并排序 Merge O(n㏒₂n) O(n㏒₂n) O(n㏒₂n) n 稳定
堆排序 Heap O(n㏒₂n) O(n㏒₂n) O(n㏒₂n) 1 不稳定
希尔排序 Shell O(n^1.3) O(n^2) O(n) 1 不稳定
桶排序 Bucket O(n+k) O(n^2) O(n) n+k 稳定
计数排序 Counting O(n+k) O(n+k) O(n+k) n+k 稳定
基数排序 Radix O(n*k) O(n*k) O(n*k) n+k 稳定

《忆排序,面试我最强》

选泡插,

快归堆希桶计基,

恩方恩老恩一三,

对恩加K恩乘K,

不稳稳稳不稳稳,

不稳不稳稳稳稳!

                                                                        -----摘自马士兵老师

释义:选择排序,冒泡排序,插入排序的平均时间复杂度为O(n^2),稳定性分别为不稳定,稳定,稳定。

          快速排序,归并排序,堆排序的平均复时间杂度为O(n㏒₂n),稳定性分别为不稳定,稳定,不稳定。

          希尔排序 的平均时间复杂度为O(n^1.3),不稳定排序。

          桶排序,计数排序,基数排序的平均时间复杂度为分别为O(n+k),O(n+k),O(n*k),均为稳定排序。

你可能感兴趣的:(一招速记十大排序算法比较图)