位图的使用
来源:互联网 发布:云打包app平台源码 编辑:程序博客网 时间:2024/05/24 06:33
位图法定义编辑
所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。
例如,要判断一千万个人的状态,每个人只有两种状态:男人,女人,可以用0,1表示。那么就可以开一个int数组,一个int有32个位,就可以表示32个人。操作的时候可以使用位操作。
2位图法应用编辑
一、给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中
申请512M的内存
一个bit位代表一个unsigned int值
读入40亿个数,设置相应的bit位
读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在
二、使用位图法判断整形数组是否存在重复
判断集合中存在重复是常见编程任务之一,当集合中数据量比较大时我们通常希望少进行几次扫描,这时双重循环法就不可取了。
位图法比较适合于这种情况,它的做法是按照集合中最大元素max创建一个长度为max+1的新数组,然后再次扫描原数组,遇到几就给新数组的第几位置上1,如遇到 5就给新数组的第六个元素置1,这样下次再遇到5想置位时发现新数组的第六个元素已经是1了,这说明这次的数据肯定和以前的数据存在着重复。这种给新数组初始化时置零其后置一的做法类似于位图的处理方法故称位图法。它的运算次数最坏的情况为2N。如果已知数组的最大值即能事先给新数组定长的话效率还能提高一倍。
0 0
- 位图资源的使用
- 位图按钮的使用
- 位图的使用
- 位图的使用
- vc gdi 位图的使用
- MFC 中位图的使用
- 关于使用GDI+使用位图的说明
- 使用位图
- 使用位图
- 位图使用
- delphi控件制作位图资源的使用
- 在Flash中使用位图的技巧
- VC 位图按钮CBitmapButton的使用
- SVG-T格式位图的使用
- 图片产生倒映(位图的使用)
- 使用gdi+绘制缩放位图的问题
- 提高位图索引的使用效果
- VC 位图按钮CBitmapButton的使用
- 对string对象或者vector对象执行sizeof运算
- C++调用java记录
- sqoop的数据导入导出
- 莫名404问题
- TDK电感命名规则
- 位图的使用
- 细说Angular ng-class
- Android流式布局实现
- 黑马程序员——网络编程总结(一)
- ios swift比较不错的三方库地址
- Count and Say
- 如何在Qt的widget上右键显示菜单
- Android Studio问题集锦
- centos7;windows下安装和使用spice