Java十大排序基本信息

十大排序

基本信息

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

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

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

Java十大排序基本信息
Java十大排序基本信息