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

制作网站的公司电话号码手机网站有什么区别吗

制作网站的公司电话号码,手机网站有什么区别吗,wordpress 白边,关键词查询的五种常用工具⭐上篇文章:40.C哈希5(布隆过滤器的原理与代码实现详解)-CSDN博客 ⭐本篇代码:c学习/21. 位图与布隆过滤器 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分 目录 一. 哈希切割 二. 位图 三…

⭐上篇文章:40.C++哈希5(布隆过滤器的原理与代码实现详解)-CSDN博客

⭐本篇代码:c++学习/21. 位图与布隆过滤器 · 橘子真甜/c++-learning-of-yzc - 码云 - 开源中国 (gitee.com)

⭐标⭐是比较重要的部分

目录

一. 哈希切割

二. 位图 

三. 布隆过滤器

3.1 方案一

3.2 方案二


一. 哈希切割

        假设有这样一个场景:

        给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 与上题条件相同,如何找到top K的IP?如何直接用Linux系统命令实现?

        统计次数:一般都需要使用map/unordered_map来处理。不过100G太大了,不能直接使用搜索树/哈希表处理。

        可以考虑使用哈希算法对所有的IP进行映射,然后将所有相同的结果放入同一个小文件中。文件的编号是 i = Hash(IP) % 1000。这样一来就能分为1000个小文件(约0.1G)。

        然后遍历所有的小文件,使用map/unordered_map来计算所有IP的数量,找出最多数量的IP,然后将其他数据清空。再去计算下一个文件的最多数量的IP。

        最后保留的结果就是次数出现最多的IP

        找到top K 的IP,只需要使用一个小根堆处理即可。如果使用Linux命令,直接使用命令排序,然后找到次数最多的数量即可。 

二. 位图 

        场景1如下:给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集?

        使用位图保存两个文件中的数据,即便使用long long整形,最多42亿个数字。2^32次方个整数。使用两个位图来保存,需要 2^32 bit 。即 2^29 byte大约0.5G内存,两个文件刚好是1G左右的内存!

        然后使用位图1中的所有比特位与位图2中所有的比特位做 & 运算即可得到两个文件的交集!

         场景2如下:1个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数

        不超过两次就是0次或者1次,可以改进位图使用00表示没有出现,01表示出现了1次。10出现两次,11出现3次,出现更多的次数仍保持为11。

        同理由于int只占用2^32个数字,假如每一个数字占用2bit。共需要 2^32 * 2 bit。换算的结果刚好为1G空间。
 

        上述题目:如果使用的整数是long long类型的,可以采取哈希分割切片的方式。分解为小文件然后再进行处理

三. 布隆过滤器

        给两个文件,分别有100亿个query(查询参数),我们只有1G内存,如何找到两个文件交集?分别给出精确算法和近似算法

3.1 方案一

        直接使用一个长度为1G的布隆过滤器,使用合适的哈希算计将所有的query映射到这个布隆过滤器中。

        然后遍历文件二,查询每一个参数是否在布隆过滤器中,查询成功,则进行保存。

        此方案有一定的缺陷:由于布隆过滤器如果判断某一个元素不存在,那么这个元素是真的没有,但是判断存在的元素可能是真的元素,也有可能是误判的结果。所以我们得到的结果可能会比原始的交集多一些误判的内容。但是所有的交集都是能够找到的

3.2 方案二

        使用哈希算法将所有的文件A分割为1000个小文件,所有的文件B分割为1000个小文件。这样一来,假设一个参数30字节,一共3000亿字节大约300G,分割后就只有0.3G了。

        对所有的文件编号为A1 A2 ... A1000,B1 B2 ... B1000。然后遍历所有的Ai的小文件,每一个小文件都是用set/unorderd_set进行保存,保存后再遍历对应的Bi文件并判断某一个参数是否存在于set/unordered_set中。如果存在则说明这个文件是交集,将其保存。

        最后得到的交集就是精确的交集了!

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

相关文章:

  • 网站域名到期如何续费湖州住房和城乡建设局网站
  • 网站添加标签云广州网站建设网站定制
  • 鄂州市住房和城乡建设部网站h5个人网站源码
  • 成品网站模块公众号开发者密码怎么获得
  • 欢迎访问中国建设银行网站个人客户6深圳影视广告制作预算
  • 怎么建设自己产品网站杭州公司官方网站制作
  • 怎么在建筑网站做翻译兼职sem和seo的区别
  • 西南交通建设集团网站企业的网站建设与设计论文
  • wp网站模板帝国转wordpress
  • 二级域名做很多网站受雇去建设网站类网站
  • 装修公司网站怎么做的手机网站建设公司
  • 餐饮企业网站设计网站服务器建设的三种方法
  • 北京网站seo技术厂家正规网站建设加盟合作
  • 盐城市建设局网站设计备案资料免费网站建站塔山双喜
  • win7本地做网站江宁住房和城乡建设局网站
  • 做网站的公司排行网站模板欣赏
  • 溧阳建设局网站6网络营销的推广方式
  • 网站备案安全承诺书摄影师招聘网站
  • 用vs做网站的登录wordpress ajax顶踩
  • 星乐seo网站关键词排名优化烟台百度网站
  • 怎么检查网站有没有被挂马美工培训班哪家好
  • seo优化网站推广ui设计发展前景及未来
  • 设计网站作品设计网站推荐ps
  • 网络网站开发模板建站广团
  • 思睿鸿途北京网站建设长沙做网站费用
  • 网站流量数据分析东莞人力资源招聘官网
  • 微网站怎么做百度关键词排名最新军事报道 新闻事件
  • 24小时学会网站建设pdf深圳拼团手机网站开发
  • 网站流量工具wordpress内容页不显示
  • wordpress 停站零基础学it从哪方面学起