一冒泡排序
时间复杂度:O(n^2) 空间复杂度:O(1)
最好时间复杂度O(n) 最坏时间复杂度O(n^2)
稳定
二选择排序
时间复杂度:O(n^2) 空间复杂度:O(1)
最好时间复杂度O(n^2) 最坏时间复杂度O(n^2)
不稳定
三直接插入排序
时间复杂度:O(n^2) 空间复杂度:O(1)
最好时间复杂度O(n^2) 最坏时间复杂度O(n^2)
稳定
四归并排序
时间复杂度:O(nlogn) 空间复杂度:O(n)
最好时间复杂度O(nlogn) 最坏时间复杂度O(nlogn)
稳定
五堆排序
时间复杂度:O(nlogn) 空间复杂度:O(1)
最好时间复杂度O(nlogn) 最坏时间复杂度O(nlogn)
不稳定
六快速排序
时间复杂度:O(nlogn) 空间复杂度:O(logn)//无论是递归还是用栈进行快排都是同样的空间
最好时间复杂度 最坏时间复杂度O(n^2)
不稳定
七希尔排序
时间复杂度:O(nlogn) 空间复杂度:O(1)
最好时间复杂度 最坏时间复杂度
不稳定
时间复杂度:O(n^2) 空间复杂度:O(1)
最好时间复杂度O(n) 最坏时间复杂度O(n^2)
稳定
二选择排序
时间复杂度:O(n^2) 空间复杂度:O(1)
最好时间复杂度O(n^2) 最坏时间复杂度O(n^2)
不稳定
三直接插入排序
时间复杂度:O(n^2) 空间复杂度:O(1)
最好时间复杂度O(n^2) 最坏时间复杂度O(n^2)
稳定
四归并排序
时间复杂度:O(nlogn) 空间复杂度:O(n)
最好时间复杂度O(nlogn) 最坏时间复杂度O(nlogn)
稳定
五堆排序
时间复杂度:O(nlogn) 空间复杂度:O(1)
最好时间复杂度O(nlogn) 最坏时间复杂度O(nlogn)
不稳定
六快速排序
时间复杂度:O(nlogn) 空间复杂度:O(logn)//无论是递归还是用栈进行快排都是同样的空间
最好时间复杂度 最坏时间复杂度O(n^2)
不稳定
七希尔排序
时间复杂度:O(nlogn) 空间复杂度:O(1)
最好时间复杂度 最坏时间复杂度
不稳定