数据的结构
待排数据通常是记录数据集合的一部分,每个记录包含一个关键字,也就是排序问题中要用到的值,记录的剩余部分由卫星数据组成,通常与关键字一同存取。卫星数据量大时,重排其引用或指针数组。
排序算法
排序算法在空间占用上分为原址的和非原址的(算法执行过程中仅需要常数个空间的话,则成为原址的)。
算法 | 最坏情况运行时间 | 平均情况/期望运行时间 |
---|---|---|
插入排序 | Θ(n2) | Θ(n2) |
归并排序 | Θ(nlgn) | Θ(nlgn) |
堆排序 | Θ(nlgn) | NA |
快速排序 | Θ(n2) | Θ(nlgn) (期望) |
计数排序 | Θ(k+n) | Θ(k+n) |
基数排序 | Θ(d(k+n)) | Θ(d(k+n)) |
桶排序 | Θ(n2) | Θ(n) (平均情况) |
顺序统计量
一个n个数的集合的第i个顺序统计量就是集合中第i小的数。