“基数排序”展现Python的优雅与简洁
Posted 机器学习算法与Python学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“基数排序”展现Python的优雅与简洁相关的知识,希望对你有一定的参考价值。
在这儿那桶排序为例目的不是向大家介绍基数排序这种排序方式,是想通过基数排序的实现来展现Python的简洁与优雅。在这儿先简单的介绍一下基数排序,至于具体的内容会在排序算法的章节里详细的介绍冒泡排序、选择排序、合并排序、希尔排序、快速排序、堆排序、计数排序、基数排序、桶排序等不同时间复杂度的排序算法,今天先简单的了解一下。
基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。
基数排序的发明可以追溯到1887年赫尔曼·何乐礼在打孔卡片制表机(Tabulation Machine)上的贡献。它是这样实现的:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。
下面看不同语言的算法实现:
C语言
Java语言
Pascal
c++
C# 实现基数排序
python 实现
看看Python是多么的神奇~~~~~~~~~~
欢迎转载
以上是关于“基数排序”展现Python的优雅与简洁的主要内容,如果未能解决你的问题,请参考以下文章