当前位置: 首页 > news >正文

深圳定制网站制作厂家青岛网站建设电话

深圳定制网站制作厂家,青岛网站建设电话,什么网站可以在线做高中题目,网站运营需要 做哪些工作内容目录 一、布隆过滤器的简介 二、布隆过滤器的实现 2.1 - BloomFilter.h 2.2 - test.cpp 一、布隆过滤器的简介 布隆过滤器#xff08;Bloom Filter#xff09;是由 Burton Howard Bloom 在 1970 年提出的一种紧凑型的、比较巧妙的概率型数据结构#xff08;probabilist…目录 一、布隆过滤器的简介 二、布隆过滤器的实现 2.1 - BloomFilter.h 2.2 - test.cpp 一、布隆过滤器的简介 布隆过滤器Bloom Filter是由 Burton Howard Bloom 在 1970 年提出的一种紧凑型的、比较巧妙的概率型数据结构probabilistic data structure特点是高效地插入和查询可以用来告诉你 某样东西一定不存在或者可能存在。 布隆过滤器的原理当插入一个数据时通过 K 个哈希函数将这个数据映射到位图结构中的 K 个比特位并把它们都置为 1。检索时如果 K 个比特位中的任何一个为 0则被检索的数据一定不存在如果都为 1则被检索的数据可能存在之所以说 可能 是误差的存在。 二、布隆过滤器的实现 2.1 - BloomFilter.h #pragma once ​ #include bitset.h #include string ​ namespace yzz {struct BKDRHash{size_t operator()(const std::string str){size_t hash 0;for (const char ch : str){hash hash * 131 ch;}return hash;}}; ​struct APHash{size_t operator()(const std::string str){size_t hash 0;for (size_t i 0; i str.size(); i){size_t ch str[i];if ((i 1) 0)hash ^ (hash 7) ^ ch ^ (hash 3);elsehash ^ (~(hash 11)) ^ ch ^ (hash 5);}return hash;}}; ​struct DJBHash{size_t operator()(const std::string str){size_t hash 5381;for (const char ch : str){hash hash * 33 ^ ch;}return hash;}}; ​templatesize_t N, class K std::string, class Hash1 BKDRHash, class Hash2 APHash, class Hash3 DJBHashclass BloomFilter{public:void set(const K key){_bs.set(Hash1()(key) % N);_bs.set(Hash2()(key) % N);_bs.set(Hash3()(key) % N);} ​bool test(const K key) const{if (_bs.test(Hash1()(key) % N) 0)return false;if (_bs.test(Hash2()(key) % N) 0)return false;if (_bs.test(Hash3()(key) % N) 0)return false;return true;}private:bitsetN _bs;}; } 各种字符串Hash函数 - clq - 博客园 (cnblogs.com)。 注意传统的布隆过滤器不支持删除操作因为删除一个数据可能同时删除了其它数据例如 删除 dantezhao 的同时也删除了 yyj。 Counting Bloom Filter 的出现解决了上述问题它将 Bloom Filter 的位数组的每一位扩展为一个小的计数器Counter。插入数据时给对应的 KK 为哈希函数的个数个 Counter 的值分别加 1删除数据时给对应的 K 个 Counter 的值分别减 1。Counting Bloom Filter 通过多占用几倍的存储空间的代价给 Bloom Filter 增加了删除操作。 2.2 - test.cpp #include BloomFilter.h #include iostream using namespace std; ​ int main() {yzz::BloomFilter100 bf;bf.set(唐三藏);bf.set(白龙马);bf.set(孙悟空);bf.set(猪八戒);cout bf.test(唐三藏) endl;  // 1cout bf.test(白龙马) endl;  // 1cout bf.test(孙悟空) endl;  // 1cout bf.test(猪八戒) endl;  // 1cout bf.test(沙悟净) endl;  // 0return 0; }
http://www.pierceye.com/news/830466/

相关文章:

  • 网站优化外包服务专业网站建设服务商
  • 江西企业网站建设费用wordpress正在执行例行维护_请一分钟后回来.
  • 苏宁推客如何做网站创建一个网站的步骤
  • 优化网站广告优化东莞美食网站建设报价
  • 单页网站的营销定制应用软件有哪些
  • 如何建立一个网站详细步骤品牌建设可以从哪方面入手
  • 杨浦做网站福州网站公司
  • 厦门网站建设工程汽车网站正在建设中模板
  • 关于网站规划建设方案书怎么制作官网
  • 网站域名注销流程昌邑微信网站建设公司
  • 如何做众筹网站wordpress手机投放广告
  • 贵阳制作网站的公司如何找友情链接
  • 苏州诶茵诶公司网站flash网站怎么制作
  • 域名申请网页制作网站建设珠海免费模板建站
  • 行情网免费网站大全wordpress 头像上传路径
  • 网站开发联系方式做网站如何提需求
  • 小程序定制团队seo顾问推推蛙
  • 徐州网站建设公司哪家好经典广告
  • 百度的官方网站wordpress提示插件安装
  • 网站的按钮怎么做 视频宁波网站建设用什么软件
  • 宜宾市做网站多少钱老板办公室装修效果图
  • 如何将网站挂载域名手机网站布局教程
  • 哪个网站可以做销售记录公司经营范围分类目录
  • dw网站的站点建设怎么百度做网站
  • 在家做网站设计国土局网站建设经验
  • 营销型网站报价商丘做网站推广的公司
  • 宜昌网站开发公司wordpress简洁响应试
  • 彩票型网站建设网站建设用宝塔
  • 建筑企业网站要简约大气吗零基础网站建设教学服务
  • 苏州网站开发建设方案cms系统介绍