美文网首页
线性时间排序

线性时间排序

作者: 傀儡世界 | 来源:发表于2017-03-01 21:54 被阅读54次

比较排序可以被抽象地视为决策树,也是满二叉树
比较排序是指通过输入元素间的比较来确定各元素次序的排序算法。
任何比较排序在最坏情况下都要用O(nlgn)次比较来进行排序

定理1:任意一个比较排序算法在最坏情况下,都需要做nlgn次比较

推论:堆排序和归并排序是渐进最优的比较排序算法

计数排序参考:http://www.cnblogs.com/kaituorensheng/archive/2013/02/23/2923877.html
运行时间和空间:O(k+n) ~=O(n),优于定理1,并且计数排序没有出现输入元素之间的比较,算法稳定,

基数排序也是稳定排序,需要另一个稳定排序作为基础,若n个d位数,每一位有k种取值可能,所用的稳定排序运行时间为O(n+k),则基数排序的时间是O(d(n+k))

桶排序也是稳定排序,当输入数据符合均匀分布时,桶排序可以以线性时间运行。所设所有元素均匀分布在区间[0,1)上,把区间[0,1)划分成n个相同大小的子区间(桶),对各个桶中的数进行排序,把依次把各桶中的元素列出来
参考:http://www.cnblogs.com/skywang12345/p/3602737.html
补充:

Paste_Image.png
最坏情况是O(n^2)
修改:使用最坏情况下时间为O(nlgn)的算法来处理桶的插入操作

相关文章

  • 线性排序

    时间复杂度为线性( O(n) )的排序方式叫做线性排序。常见的线性排序有桶排序、计数排序、基数排序。 桶排序 (1...

  • 线性排序

    一、线性排序算法介绍 线性排序算法包括桶排序、计数排序、基数排序。 线性排序算法的时间复杂度为O(n)。 此3种排...

  • 桶排序、计数排序、基数排序

    一、线性排序算法介绍 线性排序算法包括桶排序、计数排序、基数排序。 线性排序算法的时间复杂度为O(n)。 此3种排...

  • 11|线性排序:如何根据年龄给100万用户数据排序?

    一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法的时间复杂度为O(n)。3....

  • 排序算法三(桶,计数,基数)

    桶排序,计数排序,基数排序算法的时间复杂度都是线性的,所以把这类排序算法叫作线性排序。 桶排序 概念:将要排序的数...

  • 线性时间排序

    比较排序可以被抽象地视为决策树,也是满二叉树比较排序是指通过输入元素间的比较来确定各元素次序的排序算法。任何比较排...

  • 线性时间排序

    在讲线性时间排序之前,首先可以按照时间复杂度进行分类: O(n²) :冒泡排序、插入排序、选择排序、希尔排序; O...

  • 7基础算法之桶排序,计数排序,基数排序

    桶排序、计数排序、基数排序。因为这些排序算法的时间复杂度是线性的,所以我们把这类排序算法叫作线性排序(Linear...

  • 线性排序

    线性排序就是可以在O(n)时间复杂度内完成的排序。常见的排序方式有:桶排序,计数排序,基数排序。之所以能做到线性时...

  • 线性排序

    桶排序、计数排序、基数排序 一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法...

网友评论

      本文标题:线性时间排序

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