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

【C++篇】哈希扩展:位图和布隆过滤器+哈希切割

常用接口:

接口

功能

size

返回容器大小(单位:比特)

test

返回给定数据对应比特位的状态(为1返回true,为0返回false)

set

将给定数据映射的的比特位设为1

reset

将给定数据映射的的比特位设为0

面试题

面试题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。【腾讯】

常规查找方法可以吗? 比如:

  1. 用set解决?
  2. 排序+二分查找?

答案是不行! 我们来算算如果用常规的整数去处理,需要多少空间?

40亿个整数大概占160亿比特位,也就是16个G左右,非常的夸张。

位图解决

数据是否在给定的整形数据中,结果是在或者不在,刚好是两种状态,那么可以使用一个二进制比特位来代表数据是否存在的信息,如果二进制比特位为1,代表存在,为0则代表不存在。

将数据集{1, 3, 7,4,12, 16, 19, 13, 22, 18}映射到位图(本质上是一个vector<char>的一个对象)中:

最后判断一个数在不在,看其映射的byte位的值即可。

模拟实现位图

对于比特位数据的操作,无非就是0和1直接修改或判断。因此,位图的实现的核心思想是位运算。

本文我们用vector<int>,作为载体,实现位图:

代码语言:javascript

AI代码解释

template<size_t N> class Bitset { public: Bitset() { _a.resize(N / 32 + 1);//开好空间,默认初始空间位32位 } //………… private: vector<int> _a; };
1. set

具体逻辑:

  1. 查找该比特位在哪个整数中i = x%32
  2. 查找该比特位在整数的第几位j = x/32
  3. 将该整数与对应比特位为1且其余为0的整数按位或_a[i] |= 1<<j
http://www.jsqmd.com/news/469907/

相关文章:

  • 2026年破碎机公司口碑榜:五大热门服务商深度解析 - 2026年企业推荐榜
  • 排队节省40分钟!金仓数据库守护湘江新区百万居民就医路
  • 网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
  • 若依微服务中配置 MySQL + DM 多数据源
  • 解决MySQL8.0报错Client does not support authentication protocol requested by server...问题
  • 2026年烟囱塔优质产品推荐榜:监控铁塔/瞭望监控塔/碳钢烟囱塔/角钢监控塔/道路监控塔/钢管监控塔/镀锌监控塔架/选择指南 - 优质品牌商家
  • 2026优秀可靠门窗品牌推荐:四川门窗品牌/性价比门窗/成都门窗/推拉窗/推拉门/系统门窗/节能门窗/铝合金门窗/选择指南 - 优质品牌商家
  • 2026年评价高的超低温试验箱厂家推荐:高精度-70℃~-180℃超低温试验箱源头厂家推荐 - 品牌宣传支持者
  • 这个 PUA Skill 火了:用阿里/字节的绩效话术逼 Claude 不敢放弃,一言不合打 3.25
  • 解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
  • 2026模块化移动售楼处优质服务商推荐榜:临时售楼处、临时样板间、创意集装箱售楼处、可定制的售楼处、可拆卸售楼处选择指南 - 优质品牌商家
  • 2026年初至今,吉林地区值得信赖的路边石供应商精选 - 2026年企业推荐榜
  • 工业运动控制可靠伦茨伺服品牌推荐指南:科尔摩根电机、科尔摩根直线电机、科尔摩根维修、科尔摩根驱动器、伦茨PLC选择指南 - 优质品牌商家
  • 第二章 Spring中的Bean
  • 聚焦3c电子精密抓取需求,精选2026年高可靠3c电子电爪品牌 - 品牌2026
  • 机器人灵巧手技术与应用场景:助力挑选专业灵巧手品牌 - 品牌2026
  • 为什么RTL总是姗姗来迟?
  • 2026年个性化定制防盗盖供应商推荐指南:试管瓶、进样瓶、避光瓶、酒瓶盖、铝塑盖、铝盖、食品级玻璃瓶、儿童安全盖选择指南 - 优质品牌商家
  • 解决JDK25,IDEA控制台中文乱码问题
  • 如何在 Golang 项目中高效运用 Protocol Buffers
  • 2026可靠直流充电桩优质产品推荐榜:电动汽车充电桩、重卡充电桩、高功率充电桩、3C国标充电桩、V2G充电桩、快充充电桩选择指南 - 优质品牌商家
  • 2026年出国劳务优质服务推荐榜正规资质权益保障:出国劳务哪里工资高、劳务输出公司出国务工、劳务输出出国务工、正规出国务工机构选择指南 - 优质品牌商家
  • 2026政企办公优质会议电子门牌推荐榜:人员去向电子牌、塑胶电子门牌、学校兑换柜、学生积分兑换柜、安全积分兑换柜选择指南 - 优质品牌商家
  • NGA-BBS-Script:论坛界面优化与浏览效率提升工具——如何通过轻量级配置实现信息获取效率翻倍?
  • 电爪核心技术与选型要点——助力高效优质电爪品牌推荐 - 品牌2026
  • 全面了解电爪厂商实力与产品特点,精准对接靠谱电爪生产厂家 - 品牌2026
  • FireRedASR-AED-L在VMware虚拟机中的部署与测试
  • 2026年音圈线性执行器品牌推荐,详解原理与优势 - 品牌2026
  • GoldHEN_Cheat_Manager:重新定义PS4游戏体验的终极优化工具
  • 《认知几何学丛书》(附录:前言·后记·索引)