位图是一种很特殊的数据结构,可以利用位图来排序,但是这种排序方法对输入的数据是有比较严格的要求(数据不能重复,大致知道数据的范围)。举个例子,假如有一个集合{3,5,7,8,2,1},我们可以用一个8位的二进制向量set[1-8]来表示该集合,如果数据存在,则将set相对应的二进制位置1,否则置0.根据给出的集合得到的set为{1,1,1,0,1,0,1,1},然后再根据set集合的值输出对应的下标即可得到集合{3,5,7,8,2,1}的排序结果。

位图的应用:

1.给40亿个不重复的unsigned int的整数,没有排过序,然后再给一个数,如果快速判断这个数是否在那40亿个数当中。

因为unsigned int数据的最大范围在在40亿左右,4010^8/10241024*8=476,因此只需申请512M的内存空间,每个bit位表示一个unsigned
int。读入40亿个数,并设置相应的bit位为1.然后读取要查询的数,查看该bit是否为1,是1则存在,否则不存在。

2.给40亿个unsigned int的整数,如何判断这40亿个数中哪些数重复?

同理,可以申请512M的内存空间,然后读取40亿个整数,并且将相应的bit位置1。如果是第一次读取某个数据,则在将该bit位置1之前,此bit位必定是0;如果是第二次读取该数据,则可根据相应的bit位是否为1判断该数据是否重复。

位图bitmap数据结构相关推荐

  1. 数据结构--位图 BitMap

    文章目录 1. 位图 2. 位图代码 3. 布隆过滤器 Bloom Filter 4. 总结 1. 位图 我们有1千万个整数,整数的范围在1到1亿之间.如何快速查找某个整数是否在这1千万个整数中呢? ...

  2. 十二、【数据结构】位图(bitmap)的详解与实现

    一.定义     --概念部分参考http://www.iteblog.com/archives/148 位图法就是bitmap的缩写.所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据, ...

  3. 算法与数据结构——位图BitMap

    一.介绍 1.1 什么是位图 在Java中有四种整数类型:byte.short.int.long. 1 byte(字节) = 8 bit(位) 1 int = 4 byte = 32 bit 所以我们 ...

  4. BitMap数据结构梳理总结及代码实现

    BitMap(位图) BitMap定义 位图(BitMap),即位(Bit)的集合,是一个离散的数组结构,用一个bit位来标记某个元素对应的Value,而Key即是该元素;最基本的情况,使用一个bit ...

  5. Redis 04_位图bitmap

    位图bitmap    [字节数组] 位图不是真正的数据类型,它是定义在字符串类型中 一个字符串类型的值最多能存储512M字节的内容 位上限:2^(9+10+10+3)=2^32b  --命令 设置某 ...

  6. 位图BITMAP结构

    数字媒体对于图像的处理肯定离不开对于位图的有关处理,首先要弄清楚位图的结构才能进行下面的工作.位图(Bitmap)图像又称点阵图或光栅图,它使用我们称为像素(象素,Pixel)的一格一格的小点来描述图 ...

  7. 位图Bitmap(基于Java实现)

    所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况.通常是用来判断某个数据存不存在的. 设计原则: 尽可能的最大化利用内存,极限挖掘.利用.发挥Java的性能. ...

  8. 【算法数据结构初阶篇】:位图bitMap

    在java中,一个int类型占4个字节,也就是32bit,我们用一个int数组来表示时 new int[32],总计占用内存大概32*32bit,如果说我们存放的海量数据,亿万级非常大,那么这些基本数 ...

  9. 位图BitMap图像的读取与存储

    做图像处理时的源文件一般要用无损的图像文件格式,位图(BitMap)是windows系统下可存储无压缩图像的文件格式.要实现位图文件的读取和存储,首先要明白位图文件的的存储数据结构.位图文件由四部分依 ...

最新文章

  1. loader.asm 注释
  2. VS2015 提示 无法启动 IIS Express Web 服务器
  3. Linux 下的网络配置
  4. java静态成员方法_java的静态成员、静态方法的注意事项!
  5. 雨林木风win11 64位原版系统v2021.08
  6. python通过pcie读数据_PCIE硬盘能否直接被CPU读取?
  7. 命名实体识别研究综述
  8. 一起学Windows phone7开发(五.一个时钟的例子)
  9. html邮箱留言板代码,求HTML留言板代码或模板?
  10. 尚品汇笔记——尚硅谷
  11. 移动平均法(Moving average,MA) 指数平滑法(Exponential Smoothing,ES)
  12. 【软件网每日新闻播报│第9-20期】
  13. 【网络通信 -- 直播】ZLMediaServer -- 环境搭建与测试
  14. 对比分析法(Comparative Analysis Approach)
  15. 正则表达式在线生成网站推荐
  16. cout 声明与定义
  17. 熤星传媒:抖音这些方面要注意!
  18. 无线安全专题_破解篇03--打造个人字典
  19. 温湿度传感器的学习笔记
  20. YOLOV8-gradcam 热力图可视化 即插即用 不需要对源码做任何修改!

热门文章

  1. 温州大学《深度学习》课程课件(十二、自然语言处理和词嵌入)
  2. 【效率】程序员救星,又一 VS Code 插件神器面世!
  3. 融合通信常见问题2月刊 | 云信小课堂
  4. YouTube、微博、今日头条齐齐发力,短视频平台如何打造头部内容、做好用户留存?
  5. 聊聊flink的FencedAkkaInvocationHandler
  6. golang自定义路由控制实现(一)
  7. 北哥大话Yii2缓存机制 - File缓存
  8. Shell之/bin/bash脚本的基础实战
  9. CSS中的a标签几个访问状态记录
  10. 英特尔首推物联网云平台设备管理