冒泡排序:时间复杂度 O(n^2),最坏时间复杂度O(n^2),空间复杂度 O(1),稳定。
选择排序:时间复杂度 O(n^2),最坏时间复杂度O(n^2),空间复杂度 O(1),不稳定。
插入排序:时间复杂度 O(n^2),最坏时间复杂度O(n^2),空间复杂度 O(1),稳定。
希尔排序:时间复杂度 O(nlogn)~O(n^2),最坏时间复杂度O(n^2),空间复杂度 O(1),不稳定。
归并排序:时间复杂度 O(nlogn),最坏时间复杂度O(nlogn),空间复杂度 O(n),稳定。
快速排序:时间复杂度 O(nlogn),最坏时间复杂度O(n^2),空间复杂度 O(logn)~O(n),不稳定。
堆排序:时间复杂度 O(nlogn),最坏时间复杂度O(nlogn),空间复杂度 O(1),不稳定。
计数排序:时间复杂度 O(n+k),最坏时间复杂度O(n),空间复杂度 O(k),稳定。
桶排序:时间复杂度 O(n+k),最坏时间复杂度O(n^2),空间复杂度 O(n+k),稳定。
基数排序:时间复杂度 O(d(n+k)),最坏时间复杂度O(nk),空间复杂度 O(n+k),稳定。
注意:n 表示数据规模,k 表示数据范围,d 表示数字位数。