扎克begod的专栏

书写有气质的代码,做有灵魂的设计。

简单理解 倒排索引

     最近学习ES看到这个文章:https://es.xiaoleilu.com/052_Mapping_Analysis/35_Inverted_index.html 对初步了解es挺好的。           Elasticsearch使用一种叫做倒排索引(inverted inde...

2018-11-12 16:44:44

阅读数 82

评论数 0

一致性哈希算法的基本原理-如何解决哈希倾斜问题

在日常工作中,经常有这样的情况,我们需要做hash,散列开数据到不同的区或节点。目标要的结果是要均匀散列,避免某个节点积累大量的数据,出现倾斜情况。 比如目前有N台机器,过来的数据key,需要做散列key%N,分发到对应的节点上。 一致性哈希算法原理  为了解决hash倾斜难题,一致性算法是...

2018-10-16 21:11:55

阅读数 535

评论数 0

40亿个非负整数中找到出现2次的数和所有数的中位数

题目一:32位无符号整数的范围是0~4294967295,现在有40亿个无符号整数,可以使用最多1GB的内存,找出所有出现了两次的数。 题目二:内存限制在10MB,如何找到这40亿个整数的中位数。 解法思路:        依然bit 数组的思路,不过这次是双倍长度了,因为我们除了要记录这个数...

2018-10-16 20:57:57

阅读数 171

评论数 0

40亿非负整数中找到没出现的数

题目:         32位无符号整数的范围是0~4294967295,约等于42.9亿个数。现在刚好有一个正好包含有40亿个无符号的文件,所以整个范围中必然有没有出现过的数。内存限制是1G. 题目进阶:        如果内存只有10MB,只需要找到一个没出现过的数即可。 解题思路: ...

2018-10-16 20:23:00

阅读数 98

评论数 0

只用2GB内存,在20亿个整数中找到出现次数最多的数

题目:         有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数。限制内存只有2GB。 解法:         32位bit,占用4Byte,20亿,就是8GB大小。2GB内存,很明显,我们无法直接加载到内存。 所以继续是分而治之的思路,我们可以把这个大文件,h...

2018-10-16 18:50:58

阅读数 191

评论数 0

找到100亿个URL中重复的URL以及搜索词汇的top K 问题

前天去腾讯面试大数据开发,问到的题目,总结一下。 题目一、有一个包含100亿个URL的大文件,假设每个URL占用16B,请找出其中所有重复的URL。 题目二、某搜索公司一天的用户搜索词汇是海量的百亿数据量,请设计一种求出每天最热top 100 词汇的可行办法。 题目一解法:        ...

2018-10-16 18:38:41

阅读数 557

评论数 0

大白话 强大的布隆过滤器算法-极大降低存储空间

     “宁可错杀三千,绝不放过一个”,这是布隆过滤器的失误类型金句。 1、什么是布隆过滤器        了解熟悉布隆过滤器,先从了解hash函数开始。最简单说,一个数据经过hash函数计算后,会得到另一个输出值。hash函数能给你的保证就是,相同的输入值,经过计算后,一定得到相同的输出值...

2018-10-08 12:44:55

阅读数 975

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭