常见排序算法的时间复杂度和空间复杂度
空间复杂度:需不需要第三方内存空间
交换排序
1、冒泡排序
时间复杂度:平均 O(n^2) 最差O(N^2) 最好O(n)
空间复杂度 :O(1)排序过程只需要一个辅助空间
2、快速排序
时间复杂度: 平均O(nlog(n))
空间复杂度:O(nlog(n))
插入排序:每次将一个待排的记录插入到前面的已经排好队的位置
1、直接插入排序
时间复杂度:平均 O(n^2)
空间复杂度: O(1)
2、希尔排序
缩小增量排序,对直接插入排序的一种改进
分组插入方法。
时间复杂度:平均 O(n^1.25)
空间复杂度: O(1)
选择排序
1、直接选择排序
时间复杂度:O(n^2)
空间复杂度:O(1)
2、堆排序
时间复杂度:O(nlogn)
空间复杂度:O(1)
归并排序
时间复杂度 :O(n)
空间复杂度:O(n)