堆排序

时间

  • 最差:

算法过程

  • :每次把 与儿子中较大的交换,然后递归那个较大的儿子
  • :自底向上对每个非叶节点做 。时间复杂度
  • :直接修改,然后向上移动

快速排序

时间

  • 平均:
  • 最差:
  • 随机化的期望时间:

算法过程

找主元,划分,然后递归两边。

  • :永远选择 作为主元, 表示左边界

计数排序

时间

,其中 是值域。

是稳定排序。

LSD 基数排序

时间

表示位数, 表示每一位的值域。

算法过程

从低到高分别按照每一位使用计数排序排序整个数组。

桶排序

时间

期望

算法过程

把值域均匀映射到若干个桶里,然后在每个桶里用其他的方法排序。每个桶的元素个数的期望是