,
- <李>
李>
# ifndef __BITMAP_H__ # define __BITMAP_H__ # include & lt; vector> # include “构成” class 位图 { 公众: ,,,位图(size_t size =, 0) ,,,,,,,:_size (0) ,,,{ ,,,,,,,_a.resize ((size>祝辞;5)+ 1); ,,,} ,,,, ,,,//插入数据 ,,,void 设定(size_t x) ,,,{ ,,,,,,,size_t index =, x 在祝辞,5; ,,,,,,,size_t num =, x %, 32; ,,,,,,,//如果当前位置不存在值,直接插入 ,,,,,,,if (! (_a(指数),,,(1,& lt; & lt;, num)))//判断这个位上是不是0的等 ,,,,,,,{ ,,,,,,,,,,,+ + _size; ,,,,,,,,,,,_a(指数),|=,(1,& lt; & lt;, num);//将当前位上的值置成1 ,,,,,,,} ,,,} ,,,void 重置(size_t x) ,,,{ ,,,,,,,size_t index =, x 在祝辞,5; ,,,,,,,size_t num =, x %, 32; ,,,,,,, ,,,,,,,//判断当前位上的值是不是等于1,等于1删除 ,,,,,,,if (_a(指数),,,(1,& lt; & lt;, num)) ,,,,,,,{ ,,,,,,,,,,,,_size; ,,,,,,,,,,,_a(指数),,=,~ (1,& lt; & lt;, num);//将当前位置成0 ,,,,,,,} ,,,} ,,,bool 测试(size_t x) ,,,{ ,,,,,,,size_t index =, x 在祝辞,5; ,,,,,,,size_t num =, x %, 32; ,,,,,,, ,,,,,,,//如果当前位等于1,那么存在 ,,,,,,,if (_a(指数),,,(1,& lt; & lt;, num)) ,,,,,,,{ ,,,,,,,,,,,return 真实; ,,,,,,,} ,,,,,,,return 假; ,,,} ,,,void 调整(size_t 大小) ,,,{ ,,,,,,,_a.resize ((, size 的在祝辞,5),+,1); ,,,} ,,,size_t 尺寸() ,,,{ ,,,,,,,return _size; ,,,} 私人: ,,,vector, _a; ,,,size_t _size;//位图上插入了多少值 }; void 测试() { ,,,BitMap bm (35); ,,,bm.Set (4); ,,,bm.Set (5); ,,,bm.Set (6); ,,,cout & lt; & lt;,“is4Exist ?→”, & lt; & lt;, bm.Test (4), & lt; & lt;, endl; ,,,cout & lt; & lt;“is5Exist ?→”& lt; & lt;, bm.Test (5), & lt; & lt;, endl; ,,,bm.Reset (5); ,,,cout & lt; & lt;,“is4Exist ?→”, & lt; & lt;, bm.Test (4), & lt; & lt;, endl; ,,,cout & lt; & lt;,“is5Exist ?→”, & lt; & lt;, bm.Test (5), & lt; & lt;, endl; } # endif //__BITMAP_H__
布隆过滤器布隆过滤器
原理
<代码> 代码> <代码> 代码> <代码> 代码> <代码> 代码>
- <李>
,
李> <李>。
李>
:
# ifndef __COMMON_H__ # define __COMMON_H__ size_t GetPrimeSize (size_t 大小) { ,,,static const int _PrimeSize =, 28日; ,,,static const unsigned long _PrimeList [_PrimeSize],=,,,{ ,,,,,,,53 ul,, 97 ul, 193 ul, 389 ul, 769 ul, null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null【数据结构】位图的位图与布隆过滤器BloomFilter