排序算法 | 算法复杂度 | 算法简述 |
插入排序 | N2 | 前方有序,依次将后方无序数据插入前方合适位置。 |
冒泡排序 | N2 | 前方有序,从后方两两比较,将最小泡冒到前方。 |
选择排序 | N2 | 前方有序,从后方选择最小的加入前方。 |
快速排序 | N(logN) | 选择pivot,前方小于等于pivot,后方大于等于pivot |
堆排序 | N(logN) | 建堆,将堆顶移出,堆尾补位,并重新调整堆。 |
归并排序 | N(logN) | 选择分裂点,前方归并,后方归并,合并前方和后方 |
基数排序 | D(N + radix) | D个关键码,每个关键码取值radix种。则共分配收集D趟,每趟分配复杂度N, 收集复杂度为radix。 |