堆排序
时间
- 最差:
算法过程
- :每次把 与儿子中较大的交换,然后递归那个较大的儿子
- :自底向上对每个非叶节点做 。时间复杂度
- :直接修改,然后向上移动
快速排序
时间
- 平均:
- 最差:
- 随机化的期望时间:
算法过程
找主元,划分,然后递归两边。
- :永远选择 作为主元, 表示左边界
计数排序
时间
,其中 是值域。
是稳定排序。
LSD 基数排序
时间
, 表示位数, 表示每一位的值域。
算法过程
从低到高分别按照每一位使用计数排序排序整个数组。
桶排序
时间
期望 。
算法过程
把值域均匀映射到若干个桶里,然后在每个桶里用其他的方法排序。每个桶的元素个数的期望是 。