桶式排序不再是一种基于比较的排序方法,它是一种比较巧妙的排序方式,但这种排序方式需要待排序的序列满足以下两个特征:待排序列所有的值处于一个可枚举的范围之类;待排序列所在的这个可枚举的范围不应该太大,否则排序开销太大。排序的具体步骤如下:(1)对于这个可枚举范围构建一个buckets数组,用于记录“落...
分类:
编程语言 时间:
2015-05-22 16:38:21
阅读次数:
126
在这篇文章中,我会试图讲解JavaScript变量的作用域和声明提升,以及许多隐隐藏的陷阱。为了确保我们不会碰到不可预见的问题,我们必须真正理解这些概念。 基本定义 作用范围是个“木桶”,里面装着变量。变量可以是局部或者全局性的,但在子范围中定义的变量是可以访问父范围的,这一点可能会造成一些...
分类:
编程语言 时间:
2015-05-22 14:45:52
阅读次数:
233
墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律
一、墨菲定律
1949年,一位名叫墨菲的空军上尉工程师,认为他的某位同事是个倒霉蛋,不经意间开了句玩笑:“如果一件事情有可能被弄糟,让他去做就一定会弄糟。”
这句话迅速流传,并扩散到世界各...
分类:
其他好文 时间:
2015-05-22 11:35:21
阅读次数:
129
这几天学习了HashMap的底层实现,发现关于HashMap实现的博客还是很多的,但几乎都是JDK1.6版本的,而我的JDK版本是1.8.0_25,对比之下,发现Hashmap的实现变动较大。这篇博客断断续续写了一天,理解不当之处,欢迎指正。
在JDK1.6中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值...
分类:
编程语言 时间:
2015-05-21 22:45:40
阅读次数:
256
1 #include 2 #include 3 4 int a[10010],w[10010],p[10010],o[10010]; 5 6 void Barrel_Sort(int *a,int n,int mx) 7 { 8 int i; 9 memset(w,0,size...
分类:
编程语言 时间:
2015-05-21 21:57:22
阅读次数:
146
在这篇文章中,我会试图讲解JavaScript变量的作用域和声明提升,以及许多隐隐藏的陷阱。为了确保我们不会碰到不可预见的问题,我们必须真正理解这些概念。 基本定义 作用范围是个“木桶”,里面装着变量。变量可以是局部或者全局性的,但在子范围中定义的变量是可以访问父范围的,这一点可能会造成一些...
分类:
编程语言 时间:
2015-05-21 08:56:23
阅读次数:
227
桶排序_BUCKETSORT
桶排序的思想
桶排序的代码编写
总结桶排序_BUCKETSORT假设你有五百万份试卷,每份试卷的满分都是100分,如果要你对这些试卷按照分数进行排序,天噜啦,五百万份试卷啊,快速排序?堆排序?归并排序?面对这么多的数据,平均下来上面的每一种一种算法至少都要花费nlogn=5000000log5000000=111267433nlogn=5000000log5000000...
分类:
编程语言 时间:
2015-05-20 14:54:16
阅读次数:
136
详细讲解见《算法导论》8.4节——桶排序。
Java代码如下:
package linetimesort;
import java.util.LinkedList;
import sort.InsertSort;
/**
* 桶排序假设输入元素均匀而独立的分布在区间[0,1)上;
* 桶排序的核心思想是,将[0,1)分为n个大小相同的子区间,
* 上一个区间里的元素都比下一个区间里的...
分类:
编程语言 时间:
2015-05-19 22:49:02
阅读次数:
167
基数排序_RADIXSORT
基数排序的思想
基数排序算法实现
基于计数排序的基数排序
基于最优桶排序的基数排序
基数排序_RADIXSORT基数排序是一种基于计数排序_COUNTINGSORT或者是最优桶排序(当然也可以基于其他排序算法,只不过计数排序对于基数排序来说应该是最快的了,因为二者的拼音都是jishupaixu,哈哈)的一种可以在线性时间O(n)O(n)完成的排序算法。博主在做基数排序的...
分类:
编程语言 时间:
2015-05-19 19:07:15
阅读次数:
215