算法
maikelsong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MurmurHash
看Jedis的主键分区哈希时,看到了名字很萌很陌陌的MurmurHash,谷歌一看才发现Redis,Memcached,Cassandra,HBase,Lucene都用它。转载 2016-07-04 17:01:15 · 595 阅读 · 0 评论 -
一致性哈希算法与Java实现
一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。 因此,引入了一致性哈希算法:转载 2016-07-04 17:13:13 · 377 阅读 · 0 评论 -
海量数据处理算法—Bloom Filter
1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有转载 2016-07-04 17:52:08 · 382 阅读 · 0 评论 -
海量数据处理 算法总结
1. Bloom Filter 【Bloom Filter】 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也就是Bloom Filter判断元素不再集合,那肯定不在。如果判断元素存在集合中,转载 2016-07-04 17:53:53 · 1310 阅读 · 0 评论 -
海量数据处理
海量数据处理是基于海量数据上的存储、处理、操作。 所谓海量,就是数据量很大,可能是TB级别甚至是PB级别,导致无法一次性载入内存或者无法在较短时间内处理完成。面对海量数据,我们想到的最简单方法即是分治法,即分开处理,大而化小,小而治之。我们也可以想到集群分布式处理。 1 海量数据的存储:为大数据分析做准备 传统关系型数据库转载 2016-07-04 18:21:03 · 414 阅读 · 0 评论 -
海量数据处理算法—Bit-Map
1. Bit Map算法简介 来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想 我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这转载 2016-07-04 18:22:02 · 286 阅读 · 0 评论 -
位运算符及其应用
一、C语言的六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 左移 >> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下: 0000转载 2016-07-04 18:22:42 · 313 阅读 · 0 评论 -
JDK DualPivotQuicksort 源码解析
参考自:论文,Dual-Pivot Quicksort algorithm ,by Vladimir Yaroslavskiy。 http://www.sytarena.com/javajswz/20140217/1329.html DualPivotQuicksort是JDK1.7开始的采用的快速排序算法。 一般的快速排序采用一个枢轴来把一个数组划分成两半,然后递归之。转载 2016-11-23 17:45:21 · 798 阅读 · 0 评论 -
九大基础排序总结与对比
请尊重个人劳动成果,转载注明出处,谢谢! http://blog.youkuaiyun.com/amazing7/article/details/51603682 ## 一、对比分析图 均按从小到大排列 k代表数值中的”数位”个数 n代表数据规模 m代表数据的最大值减最小值 稳定性:稳定排序算法会让原本转载 2016-11-23 17:49:07 · 506 阅读 · 0 评论
分享