详细解释:算法导论/数据结构书 1.链式基数排序 //n个数,每个数有g个关键字//排序:从最后的关键字开始到最前的关键字//分配+收集//每个关键字分配+收集需要n+n时间,而共有g个关键字,时间复杂度为O(2ng),效率很高。//如果用数组,数据集中在一个区间,则区间的长度很长,另外的区间的内存 ...
分类:
编程语言 时间:
2017-05-06 23:05:41
阅读次数:
339
上一节讲了基数排序(Radix Sort),这一节介绍桶排序(Bucket Sort or Bin Sort)。和基数排序一样,桶排序也是一种分布式排序。 桶排序(Bucket Sort)的基本思想 在每一个桶中,如果采用链式存储的话,1.和2.可以合并在一起操作,也就是在分发的过程中保证每一个桶的 ...
分类:
编程语言 时间:
2017-04-24 21:10:00
阅读次数:
238
基数排序 一、 什么叫基数 在数学上,基数(cardinal number)是集合论中刻画任意集合大小的一个概念。两个能够建立元素间一一对应的集合称为互相对等集合。根据对等这种关系对集合进行分类,凡是互相对等的集合就划入同一类。这样,每一个集合都被划入了某一类。任意一个集合A所属的类就称为集合A的基 ...
分类:
编程语言 时间:
2017-04-24 12:26:13
阅读次数:
195
桶排序 (Bucket sort)将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。 桶排序最好情况下使用线性时间O(n),很显然桶排序的时间复杂度,取决与对各个桶之间数据进行排序的时间复杂度,因为 其它部分的时间复杂度都为O(n);很显 ...
分类:
编程语言 时间:
2017-04-20 10:34:41
阅读次数:
232
1、题目 Given an unsorted array, find the maximum difference between the successive elements in its sorted form. Try to solve it in linear time/space. Re ...
分类:
编程语言 时间:
2017-04-12 09:27:28
阅读次数:
245
目录 马桶排序(令人作呕的排序) 冒泡排序(面试都要问的算法) 快速排序(见证亚当和夏娃的爱情之旅) 马桶排序(令人作呕的排序) 一、场景:期末考试完了,老师要将同学们的分数从高到低排序。假设班上有 5 名同学,分别考了 5 分、3 分、5 分、2 分和 8 分【满分:10 分】,排序后的结果就是 ...
分类:
编程语言 时间:
2017-04-10 12:57:56
阅读次数:
284
一、最快最简单的排序——桶排序 问题:让计算机随机读入5个数然后将这5个数从大到小输出。 分析:这里只需借助一个一维数组就可以解决这个问题 int a[11],i,j,t; for(i=0;i<=10;i++) a[i]=0; //初始化为0 for(i=1;i<=5;i++) //循环读入5个数 ...
分类:
编程语言 时间:
2017-04-03 22:42:37
阅读次数:
265