常见的排序.png

重点记忆: 插入排序, 堆排序, 归并排序, 快速排序

宋词背诵法

  1. 《忆秦娥 · 面试我最强》
  2. —— 马士兵
  3. 选炮插,
  4. 快归堆希统计基,
  5. n n n一三,
  6. n k n k,
  7. 不稳稳稳不稳稳,
  8. 不稳不稳稳稳稳。

上面这阙马老师的词原题是《忆排序》, 但是我觉得词牌名最好不改, 所以自作主张把词牌名换回了忆秦娥

这阙词的大意为:

    选炮插,

    -- 选择排序, 冒泡排序, 插入排序

    快归堆希统计基,

    -- 快速排序, 归并排序, 堆排序, 希尔排序,  桶排序, 计数排序, 基数排序

    n 方 n老 n一三,

    -- 选择排序, 冒泡排序, 插入排序的平均时间复杂度为n^2; 快速排序, 归并排序, 堆排序为nlogn; 希尔排序为n^1.3

    对 n 加 k n 乘 k,

    -- 桶排序, 计数排序 都是n+k; 基数排序为 n*k

    不稳稳稳不稳稳,

    -- 稳定性: 选择排序 不稳; 冒泡排序, 插入排序 稳, 快速 不稳; 归并 稳

    不稳不稳稳稳稳。

    -- 堆排序 , 希尔排序 不稳;  桶排序, 计数排序, 基数排序 稳

排序示例

排序演示动画可以参考:十大经典排序算法

算法/数据结构演示 https://www.cs.usfca.edu/~galles/visualization/Algorithms.html