排序
参考五分钟学算法
复杂度比较
时间复杂度
- O(n2) 各种简单的排序:直接插入、直接选择、冒泡
- O(nlog2n) 快速排序、堆排序、归并排序
- O(n1+\(\lambda\)),希尔排序
- 线性阶O(n)排序,基排序、桶、箱排序
稳定性
- 稳定排序:冒泡、插入、归并、基数排序
- 不稳定:选择、快速、希尔、堆排序
稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。(相等元素相对位置不变)
冒泡