- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 布隆过滤器(BloomFilter)的实现
布隆过滤器 – 空间效率很高的数据结构上面这个链接对布隆过滤器进行了比较详细的介绍,可以仔细看一看。在这里,我自己主要写一写自己的理解,并用代码实现一个简单的版本。BloomFilter往往用于数据量太大内存一下子存不了的情况,其实本质有点类似bit-map 的扩展,它的原理: 当一个元素被加入集合时,通过 K 个 Hash 函数将这个元素映射成一个位阵列(Bit array)中的 K 个点,把
2017-02-22 21:40:14 1039
转载 海量数据处理
最近看到一些海量处理的博客,大赞!!!地址复制在此方便自己查找。教你如何迅速秒杀掉:99%的海量数据处理面试题http://blog.csdn.net/v_july_v/article/details/7382693海量数据处理:十道面试题与十个海量数据处理方法总结http://blog.csdn.net/v_JULY_v/article/details/6279498十七道海量数据处理面试题与Bi
2017-02-21 20:50:48 358
原创 BitMap的C++实现
BitMap算法的实现 所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 我们知道,一般可以直接操控的最小的单位是字节,比如在C/C++中,定义一个类型char,对它进行各种操作。然后很多时候,面对一个很大数据量,且我们仅仅希望知道某个数是否存在,我们不妨可以(有时候是必须)使用Bit
2017-02-21 20:38:28 6706 1
原创 map和set的使用和原理
我们学习过顺序容器如vecor,list等,它们中的元素是按照在容器中的位置来顺序保存和访问的。而接下来要学习的关联容器则有根本的不同,它们中的元素是按关键字来保存和访问的。 在《C++Primer》中列举了标准库中的8个关联容器,如下:关联容器支持高效的关键字查找和访问,我们在这里介绍两个主要的关联容器set和map。mapmap里面存的是一些key-value对,其中key起到索引的作用, 而
2017-02-16 13:21:46 7411 1
原创 二叉树的线索化(C++实现)
关于四种遍历方式的递归和非递归实现可点击 我的github 里面的BInaryTree.h查看。 我们希望很快找到某的结点的前序或者后继,又不想遍历一遍,这就需要我们记录下每个结点的前驱和后继,因此为了做到这一点,我们引入了二叉树的线索化。
2017-02-05 22:54:24 1286
原创 根据中序和前序遍历重建二叉树
重建二叉树 前序遍历是先访问root,再依次访问左子树和右子树,而中序遍历则是先访问左子树,再依次访问root和右子树。在前序遍历中,第一个总为当前树的根节点root,因此我们可以根据root值在中序遍历序列中划分左右子树。然后再在划分的左右序列中,重复该操作,最终可以得到我们想要的结果。 我们以上面的前序和中序序列为例:第一次: 在前序遍历,得到1为根节点,根据中序序列,得到4,7,2
2017-02-01 16:37:52 405
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人