![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 81
边城梦溪
Windows C++,Linux网络编程,目前就职于金山办公软件有限公司。公众号:边城梦溪
展开
-
《算法与数据结构之布隆过滤器》
上一节讲到了位图的原理,并陈述了公司的OA系统如何运用该原理去快速查找某位员工。但我们只考虑了员工编号为纯数字组合的情况,将纯数字映射到BitMap上当然很容易。当员工编号为字母和数字的组合时,那么此时该如何进行映射,老的方法肯定行不通;亦或员工编号的数值范围扩大了,继续使用位图会不会造成内存空间的浪费?位图显然是不适合上述的场景,我们需要在位图上作些变更,布隆过滤器(Bloom Filter)就为了解决上述问题而出现的。对于员工编号是数字和字母组合的情况,可以使用哈希函数计算出每个员工编号的哈希值K,并原创 2020-10-31 18:41:21 · 179 阅读 · 0 评论 -
《算法与数据结构之位图》
位图(BitMap)是内存中一种虚拟的数据结构,类似于数组。但我们在定义数组时,一般以编程语言所支持的数据类型来定义,比如:char、int、int 类型等。多数情况下数组中存储的数值远小于该数据类型所能表示的范围,这样会造成一定内存空间的浪费。计算机内存中最小存储单元是bit(比特位),一个字节也就是8个bit位,那么是否能创建一种bit类型的数组,答案是肯定的;因此BitMap就应运而生。那么BitMap一般用于什么场景中?举个很简单的例子,在拥有几万人公司的OA系统上,怎样快速地判断某个人是否存在?千原创 2020-10-29 12:23:25 · 253 阅读 · 2 评论