常用排序算法特点

来源:互联网 发布:仿58同城源码带手机版 编辑:程序博客网 时间:2024/06/06 04:29

常用排序算法小结:

排序算法 最差时间复杂度 最好时间复杂度 平均时间复杂度 稳定度 空间复杂度 交换排序->冒泡排序 O(N^2) O(N) O(N^2) 稳定 O(1) 交换排序->快速排序 O(N^2) O(NlogN) O(NlogN) 不稳定 O(logN)~O(N) 选择排序->直接选择排序 O(N^2) O(N^2) O(N^2) 不稳定 O(1) 选择排序->堆排序 O(NlogN) O(NlogN) O(NlogN) 不稳定 O(1) 插入排序->直接插入排序 O(N^2) O(N) O(N^2) 稳定 O(1) 插入排序->希尔排序 O(N^2) O(N) O(N^1.3) 不稳定 O(1) 归并排序 O(NlogN) O(NlogN) O(NlogN) 稳定 O(N) 基数排序 O(d(n+r)) O(d(n+r)) O(d(n+r)) 稳定 O(n+r))

注:
1. 基数排序,r代表关键字基数,d代表长度(位数),n代表关键字个数

原创粉丝点击