最常见的有六种,他们的时间复杂度如下:
- 冒泡排序(Bubble Sort):
- 平均时间复杂度:O(n^2)
- 最好情况时间复杂度:O(n)
- 最坏情况时间复杂度:O(n^2)
- 选择排序(Selection Sort):
- 平均时间复杂度:O(n^2)
- 最好情况时间复杂度:O(n^2)
- 最坏情况时间复杂度:O(n^2)
- 插入排序(Insertion Sort):
- 平均时间复杂度:O(n^2)
- 最好情况时间复杂度:O(n)
- 最坏情况时间复杂度:O(n^2)
- 快速排序(Quick Sort):
- 平均时间复杂度:O(nlogn)
- 最好情况时间复杂度:O(nlogn)
- 最坏情况时间复杂度:O(n^2) (当待排序数组已经有序时)
- 归并排序(Merge Sort):
- 时间复杂度:O(nlogn)
- 堆排序(Heap Sort):
- 时间复杂度:O(nlogn)