- 冒泡排序
- 基本思想:比较,交换
- 时间复杂度:O(N^2)
- 空间复杂度:O(1)
- 算法稳定性:稳定
- 快速排序
- 基本思想:挖坑填数,分治法
- 时间复杂度:O(NlogN)
- 空间复杂度:O(1)
- 算法稳定性:不稳定
- 直接插入排序
- 基本思想:把无序区的第一个元素按顺序插入到有序区中
- 时间复杂度:O(N^2)
- 空间复杂度:O(1)
- 算法稳定性:稳定
- 希尔排序
- 基本思想:增量分组,直接插入排序,缩小增量
- 时间复杂度:O(NlogN)
- 空间复杂度:O(1)
- 算法稳定性:不稳定
- 直接选择排序
- 基本思想:在无序区中找到最小(最大)的元素放在有序区的末尾
- 时间复杂度:O(N^2)
- 空间复杂度:O(1)
- 算法稳定性:不稳定
- 堆排序
- 基本思想:堆化,堆的删除
- 时间复杂度:O(NlogN)
- 空间复杂度:O(1)
- 算法稳定性:不稳定
- 归并排序
- 基本思想:分治法,合并
- 时间复杂度:O(NlogN)
- 空间复杂度:O(N)
- 算法稳定性:稳定