基数排序(Radix Sort)是在桶排序的基础上发展而来的,两种排序都是分配排序的高级实现。 分配排序(Distributive Sort)的基本思想:排序过程无须比较关键字,而是通过“分配”和“收集”过程来实现排序。它们的时间复杂度可达到线性阶:O(n)。 基数排序代码: [7, 8, 9, 6 ...
分类:
编程语言 时间:
2016-12-22 16:52:37
阅读次数:
272
计数排序计数排序假设n个输入元素中的每一个都是0到k区间内的一个整数,其中k为某个整数。当k=O(n)时,排序的运行时间为@(n)计数排序的基本思想是: 对每一个输入元素x,确定小于x的元素个数。利用这个信息,就可以直接把x放到它在输出数组中的位置上了。 例如,如果有17个元素小于x,则x就应该在第 ...
分类:
编程语言 时间:
2016-12-17 11:09:47
阅读次数:
230
无意间看到的… 看着名字很有趣就仔细了解了一下… 感觉很可爱… 思想:有n个有序桶,每输入一个值k,就把k装进对应的桶里。装完以后按桶的顺序输出就可以了。这么说着可能有些不清楚,看代码就明白了。 #include<iostream> #include<cstring> using namespace ...
分类:
编程语言 时间:
2016-12-14 16:35:01
阅读次数:
158
八、基数排序 基本思想:基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复 ...
分类:
编程语言 时间:
2016-12-10 13:46:24
阅读次数:
206
这个题为《编程珠玑》中提到的算法,解题思路和桶排序/基数排序一样,适用于大量没有重复的数据。 结题思路: 1.遍历整个数据文件,每提取一个数据,在BitMap中对应的位置赋1 2.遍历BitMap的每一位,为1的位置上输出其再BitMap中的坐标 ...
分类:
其他好文 时间:
2016-12-08 23:47:28
阅读次数:
205
基本排序算法(冒泡排序 选择排序 插入排序 快速排序 归并排序 基数排序 希尔排序) ...
分类:
编程语言 时间:
2016-12-06 20:39:31
阅读次数:
400
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码 ...
分类:
编程语言 时间:
2016-12-06 14:22:05
阅读次数:
213
用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序 【博主】反骨仔 【来源】http://www.cnblogs.com/liqingwen/p/4994261.html 马桶排序 一、场景:期末考试完了,老师要将同学们的分数从高到低排序。假设班上有 5 名同学,分别考了 5 分、3 分、5 ...
分类:
编程语言 时间:
2016-12-04 16:24:04
阅读次数:
205
基数排序(radix sorting)将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。 然后 从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 假设我们有一些二元组(a,b),要对它们进行以a为首要关键字,b为次要关键字的排序 ...
分类:
编程语言 时间:
2016-12-04 00:34:01
阅读次数:
206