美文网首页
2018-04-11 基数排序—次位优先

2018-04-11 基数排序—次位优先

作者: laohan_王 | 来源:发表于2018-04-11 15:10 被阅读0次

次位优先我的理解实际上是一种思想,就是基于要排序的数据,根据其位数进行排序,比如32,42,156,那就是先把这几个数的个位比较一下,排一轮,然后十位数比一下,排一轮,以此类推。

次位优先—数据源.png

图中红框部分就是数据源,根据数据源的数量,先做出相应的10个桶,已用做桶排序。


.png

从这儿可以看出,第一轮创建了Length为10的数组,然后根据数据源中的个位数,进行了一轮排序。


从这儿又可以看出来,我们根据上一轮个位数的排序结果又进行了十位数的一轮排序,现在看来数据上已经有些大不同了,那么先把这些数据做成一个链表或者数组以备下一轮排序用。


次位优先—百位数.png

最后一步看到百位数上,0,1,8,27.......
这样把结果顺序放到数组里以后,就已经是一个排好序的数组了。

在这个基数排序里,浙大的课程举了个很好的例子,扑克牌。


基数排序—扑克牌.png

可以看到一副扑克牌,一般是按照两种关键字(原则)排序的,花色和面值。那么这种时候可以怎么做呢


次位优先—扑克牌2.png

看到这儿就可以理解了,你看,手牌如果是13张牌,那我们先创建13个桶,进行一番次位优先排序,按照面值先将他们排好序。
然后再建造4个花色的桶。再根据花色把上一轮面值排序的结果放进去,很自然的手牌就是排序好的结果。

相关文章

  • 2018-04-11 基数排序—次位优先

    次位优先我的理解实际上是一种思想,就是基于要排序的数据,根据其位数进行排序,比如32,42,156,那就是先把这几...

  • 13 基本排序算法:基数排序

    基数排序 原理 基数排序属于"低位优先”排序法,通过反复进行分配与收集操作完成排序。假设记录r[i]的关键字为ke...

  • 2019-02-23 普林斯顿大学 数据结构课程笔记

    一、 数据结构:基本数据结构:栈、队列、背包、优先队列 排序:排序、归并排序、堆排序、基数排序 查找:二叉查找树、...

  • 基数排序

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

  • 基数排序(c++) to be continued

    [TOC] 参考 基数排序算法的实现与优化 clickhouse 实现的基数排序源码 基数排序的性能优化 Radi...

  • 数组-基数排序

    采用基数排序方式对数组进行排序 基数排序百科:基数排序排序(Distribution Sort),属于分配式排序,...

  • 10、基数排序(Radix Sort)

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

  • 基数排序

    基数排序是一种可以按优先级排序的排序方法,例如扑克牌或者麻将的排序,先按照花色排序,再按照点数排序。 描述: 1、...

  • 纯粹

    /** * @Author liguo * @Description * @Data 2018-04-11 */ ...

  • day12-基数排序

    基数排序 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”...

网友评论

      本文标题:2018-04-11 基数排序—次位优先

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