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

2019-12-02  本文已影响0人  蹩脚的小三

一、线性排序算法介绍

  1. 线性排序算法包括桶排序、计数排序、基数排序。
  2. 线性排序算法的时间复杂度为O(n)。
  3. 此3种排序算法都不涉及元素之间的比较操作,是非基于比较的排序算法。
  4. 对排序数据的要求很苛刻,重点掌握此3种排序算法的适用场景。

二、桶排序(Bucket sort)

  1. 算法原理:
  1. 使用条件
  1. 适用场景
  1. 应用案例

三、计数排序(Counting sort)

  1. 算法原理
  1. 代码实现
    案例分析:

  2. 使用条件

四、基数排序(Radix sort)

  1. 算法原理(以排序10万个手机号为例来说明)
  1. 使用条件

五、思考

  1. 桶排序、计数排序、基数排序的原理以及使用条件、应用场景
  2. 如何根据年龄给100万用户数据排序?
  3. 我们有 10GB 的订单数据,我们希望按订单金额(假设金额都是正整数)进行排序,但是我们的内存有限,只有几百 MB,没办法一次性把 10GB 的数据都加载到内存中。这个时候该怎么办呢?
  4. 如果你所在的省有 50 万考生,如何通过成绩快速排序得出名次呢
  5. 排序10万个手机号
  6. 对D,a,F,B,c,A,z这几个字符串进行排序,要求将其中所有小写字母都排在大写字母前面,但是小写字母内部和大写字母内部不要求有序。比如经过排序后为a,c,z,D,F,B,A,这个如何实现呢?如果字符串中处理大小写,还有数字,将数字放在最前面,又该如何解决呢?
上一篇 下一篇

猜你喜欢

热点阅读