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

广州设计企业网站抚顺seo

广州设计企业网站,抚顺seo,找人做网站价格,与众不同的网站位图一般用于需要对大量数据记录其状态。比如,存在或不存在,通过0或1也可以用多个位图记录多种状态,如 01,10,00,11(在两个位图下,可以记录4种状态,当然也可以横向记录&a…

位图一般用于需要对大量数据记录其状态。比如,存在或不存在,通过0或1也可以用多个位图记录多种状态,如 01,10,00,11(在两个位图下,可以记录4种状态,当然也可以横向记录,比如将某个位图的4个位记录状态,这样可以最多记录16种状态)

位图的关键就是0和1之间的改变,并且不影响其他位的数值。

namespace GuYu
{class bitset{public:bitset():_num(0){ }void set(size_t n){if (n / 32 + 1 > _v.size()){_v.resize(n / 32 + 1, 0);}size_t Index = n / 32;size_t Pos = n % 32;_v[Index] = _v[Index] | (1 << Pos);}void reset(size_t n){size_t Index = n / 32;size_t Pos = n % 32;_v[Index] = _v[Index] &(~(1 << Pos));  //  1000000->0111111// _v[Index]=(_v[Index]|(1<<Pos))^(1<<Pos)}bool test(size_t x){size_t Index = x / 32;size_t Pos = x % 32;int num = (_v[Index] & (1 << Pos)) >> Pos;if (num == 1){return true;}return false;}private:vector<int> _v;size_t _num;};
}

Bloom_Filter布隆过滤器

Bloom_Filter实际是为了解决不同的非size_t的数据通过哈希算法映射到同一位置引发的哈希冲突。

通过不同的方式将(拿string举例)string映射到多个位置(多个位置的位设为1),布隆过滤器不支持删改,当某个位被多个值映射了,删除会影响其他值的检查。

struct hash1str
{size_t operator()(const string& key){size_t num = 0;for (int i = 0; i < key.size(); i++){num += key[i];}return num;}
};
struct hash2str
{size_t operator()(const string& key){size_t num = 0;for (int i = 0; i < key.size(); i++){num *= 31;num += key[i];}return num;}
};
struct hash3str
{size_t operator()(const string& key){size_t num = 0;for (int i = 0; i < key.size(); i++){num *= 11;num += key[i];}return num;}
};template<class K=string,class hash1=hash1str,class hash2=hash2str,class hash3=hash3str>
class BloomFilter
{
public:void set(const K& key){//  通过不同的哈希计算方式,使key不同,映射到不同的位置size_t index1 = hash1()(key);size_t index2 = hash2()(key);size_t index3 = hash3()(key);//  对_bf的这三个位置修改_bf.set(index1);_bf.set(index2);_bf.set(index3);}bool test(const K& key){size_t index1 = hash1()(key);if (_bf.test(index1) == false){return false;}size_t index2 = hash2()(key);if (_bf.test(index2) == false){return false;}size_t index3 = hash3()(key);if (_bf.test(index3) == false){return false;}return true;}private:bitset _bf;
};

如何优化布隆过滤器,使其支持删除操作?

将位改为计数器,vector<unsigned char> vc,当映射到了vc[index],v[index]++ (v[index<255)。

 // 添加元素void add(const string& item) {for (size_t i = 0; i < hash_count; ++i) {size_t index = hash(item, i);if (counters[index] < 255) {  // 防止计数器溢出++counters[index];}}}// 删除元素void remove(const string& item) {for (size_t i = 0; i < hash_count; ++i) {size_t index = hash(item, i);if (counters[index] > 0) {--counters[index];}}}

http://www.dtcms.com/wzjs/120129.html

相关文章:

  • 中文企业网站html模板seo sem优化
  • 合肥疫情最新消息今天商丘搜索引擎优化
  • zblog和wordpress2016关键词优化排名软件s
  • 中国大良网站建设seo网络优化教程
  • 企业网站系统设计论文企业网站建设要多少钱
  • 靠谱毕设代做网站阿里云模板建站
  • 百度没有收录我的网站百度搜索推广平台
  • 用户体验度好的网站贷款客户大数据精准获客
  • 网站备案 取名资讯通不过网络科技公司
  • 自己做商城网站 哪种好推广小程序拿佣金
  • 朗润装饰成都装修公司广州seo优化排名公司
  • 有关做详情页的参考网站百度旗下产品
  • 手机端网站建设步骤产品推广软文范文
  • 做网站优化给业务员提成微信裂变营销软件
  • 微信公众平台小程序怎么用seo中文意思
  • ofbiz做的网站自助建站系统软件
  • asp.net网站开发详解搜索引擎付费推广
  • 南昌网站设计公司seo的搜索排名影响因素有
  • 做网站要会什么百度搜索推广方法
  • 四川学校网站建设公网络优化师
  • 通州网站制作济南网站优化培训
  • 面料 做网站seo快速提升排名
  • 滑动网站介绍网络营销的短文
  • 网站建设需要个体营业执照360推广登录平台
  • 陇南网站制作seo大牛
  • 做网站 违法百度推广外推联系方式
  • 虚拟主机怎么做网站百度贴吧广告投放
  • 免费做优化的网站建设品牌宣传策划公司
  • 张家港公司网站建设青山seo排名公司
  • 织梦 帝国 php cms 媒体网站 哪个八八网