常见排序算法总结

NB三人组小结

NB三人组:快速排序堆排序归并排序

# 三种排序算法的时间复杂度都是:O(nlogn) 
# 一般情况下,就排序时间长短: 
	快速排序 < 归并排序 < 堆排序 
# 三种排序算法的缺点: 
	- 快速排序:极端情况下排序效率低 (倒序列表)
    - 归并排序:需要额外的内存开销 (空间复杂度O(n))
	- 堆排序:在快的排序算法中相对较慢

常用排序算法总结

解释

  • 冒泡排序最好情况指的是改进过的排序,有序列表一趟就好。
  • 快速排序最坏情况是指逆序列表,可以通过随机找参考点避免
  • 空间复杂度,快排使用的递归需要在堆栈中保存记录递归层数;归并需要额外开辟新列表
  • 稳定性:排序前后原本相等的元素相对位置不变则稳定;冒泡、插入、归并都是和相邻的元素交换和排序,不存在跳过其他元素的交换,所以是稳定的。
posted @ 2020-03-15 17:13  the3times  阅读(149)  评论(0编辑  收藏  举报