参考文章:http://www.cnblogs.com/Braveliu/archive/2013/01/21/2870201.htmlimport java.util.Arrays;public class RadixSortMy { public static void sort(int...
分类:
编程语言 时间:
2015-07-26 20:45:19
阅读次数:
138
排序算法包括插入排序、选择排序、冒泡排序、快速排序、归并排序以及基数排序等六种,下面我们将从他们各自的原理、实现、时间与空间复杂度以及稳定性等方面进行分析。1. 插入排序 基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新的记录数增1的有序表。当表中只有一个数时当然是有序的,因此我们从第....
分类:
编程语言 时间:
2015-07-21 01:31:00
阅读次数:
154
编程论到极致,核心非代码,即思想。 所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。 每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。 其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。 言归正传(...
分类:
编程语言 时间:
2015-07-20 22:50:32
阅读次数:
149
基数排序
计数排序
桶排序基数排序,桶排序,计数排序是三种线性排序方法,突破了比较排序的O(nlogn)的限制。但是只适用于特定的情况。基数排序以下为维基百科的描述:
基数排序 :
将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。
基数排序的方式可以采用L...
分类:
编程语言 时间:
2015-07-20 13:01:28
阅读次数:
164
概述首先从多排序码排序开始介绍基数排序。以扑克牌排序为例。每张扑克牌有两个“排序码”:花色和面值。其有序关系为:
花色:?<?<?<?? < ? < ? < ?
面值:2<3<4<5<6<7<8<9<10<J<Q<K<A2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K < A
如果把所有扑克牌排成以下次序:
?2,…,?A,?2,…,?A,?2,…,?A...
分类:
编程语言 时间:
2015-07-19 10:21:34
阅读次数:
161
排序可分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,称为内排序;如果排序过程中需要使用外存,则成为外排序。
内排序有以下几类:
插入类排序:直接插入排序、二分法(折半)插入排序、希尔(缩小增量)排序
选择类排序:简单选择排序、堆排序
交换类排序:冒泡排序、快速排序、三路划分的快速排序
归并类排序:二路归并排序
基数类排序:MSD基数排序、LSD基数排序
各种内部排序算法的比较直接插入...
分类:
编程语言 时间:
2015-07-18 11:09:15
阅读次数:
165
计数排序 前提:待排序表中的所有待排序关键字必须互不相同; 思想:计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,则该记录在新的有序表中的存放位置即为c。 性能:空间复杂度:o(n);时间复杂度:o(n...
分类:
编程语言 时间:
2015-07-16 13:23:30
阅读次数:
161
基数排序(Radix sort)是一种非比较型的整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。基数排序也分为LSD(Least significant digital)和MSD(Most significant digital)两种方式,LSD的排序方式由键值的最右边开...
分类:
编程语言 时间:
2015-07-15 18:30:39
阅读次数:
212
数据结构中常见的内部排序算法: 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序、基数排序、计数排序直接插入排序: 思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 性...
分类:
编程语言 时间:
2015-07-14 13:10:31
阅读次数:
211
1.算法介绍 按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。2.算法原理 两种多关键码排序方法: 多关键码排序按照从最主位关键码到最...
分类:
编程语言 时间:
2015-07-12 20:20:44
阅读次数:
127