海量数据处理
文章平均质量分 62
小狮子辛巴
这个作者很懒,什么都没留下…
展开
-
海量数据处理---布隆过滤器
布隆过滤器的概念和原理 概念:布隆过滤器是一种空间效率较高的数据结构,它利用位数组表示一个集合。可以很容易的判断一个元素是否属于这个集合。但是它的这种高效有一定的代价:再判断一个元素是否属于这个集合时,有可能将不属于这个集合的元素误认为属于这个集合,因此,布隆过滤器不适合那些“零错误”的场景,而在能忍受低错误率的情况下,布隆过滤器通过极少的错误率换取存储空间的极大节省。 实现原理:在初始化时,...原创 2018-08-19 08:46:22 · 273 阅读 · 0 评论 -
海量数据处理---Bit-Map
原理:Bit-Map就是用一个位来表示某个元素对应的值。采用bit为单位存储数据,大大的节省了空间。如图所示: 例:假设对0-7内的5个元素{3,5,1,6,4}进行排序(不重复)。我们可以使用Bit-Map来做,要表示8个元素,要1个字节空间(8位),故首先开辟1Byte空间,将里面的每一位都置为0。遍历一次元素,将元素的值对应的位变成1。 现在已经将每一个元素对应的位改为1了,所以...原创 2018-08-19 10:22:18 · 489 阅读 · 0 评论 -
海量数据处理---Trie树
trie树又被称为前缀树或键树,是一种树形结构。典型应用是用于统计和排序大量的字符串,所以经常被搜索引擎系统用于文本词频统计。 它的3个基本性质: 根节点不包括字符,除根节点外每个节点都只包含一个字符 从根节点到某一节点,路径上经过的字符连接起来,就是该节点对应的字符串 每个节点的所有子节点包含的字符都不相同 树的构建 假设有 b,abc,abd,bcd,abcd,efg,hil这...原创 2018-08-19 11:23:16 · 357 阅读 · 1 评论 -
海量数据处理之Bloom Filter详解
文章转载博客:https://blog.csdn.net/v_JULY_v/article/details/6685894 一、什么是Bloom Filter Bloom Filter是一种空间效率很高的随机数据结构,它的原理是,当一个元素被加入集合时,通过K个Hash函数将这个元素映射成一个位阵列(Bit array)中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就...转载 2018-08-19 11:26:00 · 177 阅读 · 0 评论 -
海量数据处理---从Trie树(字典树)谈到后缀树
文章转载博客:https://blog.csdn.net/v_july_v/article/details/6897097 第一个问题: 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。 之前在此文:海量数据处理面试题集锦与Bit-map详解中给出的参考答案:用trie树统计每个词出现的次数,时间复杂度是O(n*le)(l...转载 2018-08-19 11:32:04 · 466 阅读 · 0 评论