云莉的技术专题

排序算法

2020-05-09  本文已影响0人  云莉6

分类

  1. 比较类排序

    通过比较来决定元素间 的相对次序,由于其时间复杂度不能突破 O(nlogn),因此也称为非线性时间比较类排序。

  2. 非比较类排序

    不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称线性时间非比较类排序。

image.png

复杂度

image.png

相关概念

初级排序 - O(n^2)

高级排序

特殊排序

  1. 计数排序(Counting Sort)

    计数排序要求输入的数据必须是有确定范围的整数。将输入的数据值转化为键存储在额外开辟的数组空间中;然后依次把计数大于 1 的填充回原数组。

  2. 桶排序(Bucket Sort)

    桶排序(Bucket sort)的工作原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再 分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。

  3. 基数排序

    基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先 按低优先级排序,再按高优先级排序。

排序动画

实战题目

上一篇下一篇

猜你喜欢

热点阅读