十大排序算法 sort algorithm

作者: 1江春水 | 来源:发表于2019-02-14 19:17 被阅读11次

算法分类

  • 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(n*log n),因此称为非线性时间比较类排序算法;
  • 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较类排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序算法;

非线性比较类排序算法:

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 快速排序
  5. 归并排序
  6. 希尔排序
  7. 堆排序

线性时间非比较类排序算法:

  1. 计数排序
  2. 桶排序
  3. 基数排序

排序相关概念:

  • 稳定:如果a原本在b前边,a=b,排序完后,a依旧在b前边;
  • 不稳定:如果a原本在b前边,a=b,排序完后,b在a的前边;
  • 时间复杂度:对排序数据总得操作次数,当n变化时,操作次数呈现什么规律;
  • 空间复杂度:指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数;

关于时间复杂度:

  • 平方阶 O(n^2) 排序
  • 各类简单排序:直接插入、直接选择和冒泡排序。
  • 线性对数阶 O(nlog2n) 排序:快速排序、堆排序和归并排序;
    O(n1+§)) 排序,§ 是介于 0 和 1 之间的常数。 希尔排序
  • 线性阶 O(n) 排序 基数排序,此外还有桶、箱排序。

复杂度图解:


sort.png

十大排序代码解析

相关文章

  • 数据结构与算法(二):排序算法

    十大基础排序算法。 Basic-Sorting-Algorithm 关于十大基本排序算法的整理。 十大排序算法分别...

  • 数据结构之排序算法

    1.排序算法介绍 排序也称排序算法�(Sort Algorithm),排序是将一�组数据,依指定的顺序进行排列�的...

  • 十大经典排序算法&七大查找算法

    十大经典排序算法: 十大经典排序算法的时间、空间复杂度: 冒泡排序(Bubble Sort) 算法描述: 1、比较...

  • Ⅲ. 排序算法(Sort Algorithm)

    插入排序 1. 直接插入排序(Straight Insertion Sort) 2. 希尔排序(Shell`s S...

  • 排序

    程序员必知的十大排序算法 Bubble Sort Basic Selection Sort Quick Sort ...

  • 排序

    排序算法总结:https://www.runoob.com/w3cnote/sort-algorithm-summ...

  • 十大排序算法 sort algorithm

    算法分类 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(n*log n),因此...

  • Java数据结构与算法:排序算法

    一、基本介绍 排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 排...

  • python排序算法

    参考十大经典排序算法(动图演示) 1、 冒泡排序(Bubble Sort) 2、选择排序(Selection So...

  • 基本排序算法

    选择排序 插入排序 冒泡排序 中 sort 函数使用

网友评论

    本文标题:十大排序算法 sort algorithm

    本文链接:https://www.haomeiwen.com/subject/ogadeqtx.html