持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
直接插入排序
- 不归位,即每排完一次序,不能确定某个元素的最终位置
- 稳定,即序列中两个值相同的元素在排序前后相对位置不变
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度:
希尔排序
- 不稳定,即序列中两个值相同的元素在排序前后不一定能保持相对位置不变
- 不归位,即每排完一次序,不能确定某个元素的最终位置
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度:
计数排序
简单选择排序
- 不稳定,即序列中两个值相同的元素在排序前后不一定能保持相对位置不变
- 可以归位,即每一次排序都可以确定一个元素的最终位置
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度:
堆排序
- 不稳定,即序列中两个值相同的元素在排序前后不一定能保持相对位置不变
- 可以归位,即每一次排序都可以确定一个元素的最终位置
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度:
冒泡排序
- 稳定,即序列中两个值相同的元素在排序前后相对位置不变
- 可以归位,即每一次排序都可以确定一个元素的最终位置
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度:
快速排序
- 是一种分治算法
- 可以归位,即每一次排序都可以确定一个元素的最终位置
- 不稳定,即序列中两个值相同的元素在排序前后不一定能保持相对位置不变
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度:最好:,最坏:
归并排序
- 是一种分治算法
- 不归位,每次排序不能确定某一元素的最终位置
- 稳定,即序列中两个值相同的元素在排序前后相对位置不变
- 平均时间复杂度:
- 最坏时间复杂度:
- 最好时间复杂度:
- 空间复杂度: