Java十大排序基本信息

你说的曾经没有我的故事 提交于 2020-03-16 17:59:41

十大排序

基本信息

  • 十大排序:冒泡排序,选择排序,插入排序,快速排序,归并排序,堆排序,基数排序,希尔排序,桶排序,计数排序
  • 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;
  • 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;
  • 内排序:所有排序操作都在内存中完成;
  • 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;
  • 时间复杂度: 一个算法执行所耗费的时间。
  • 空间复杂度:运行完一个程序所需内存的大小。

根据他们各自的实现原理以及效率将十大排序算法分为两大类:

  • 非线性比较类排序:非线性是指算法的时间复杂度不能突破(nlogn),元素之间通过比较大小来决定先后顺序。
  • 线性非比较类排序:算法的时间复杂度能够突破(nlogn),并且不通过比较来对元素排序

在这里插入图片描述
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!