位图的简单实现(bitMap)

位图是一种利用每一位存储数据状态的方法,适用于大规模数据且状态有限的情况。通过位操作,位图可以高效地判断某个数据是否存在。本文介绍了位图的基本概念,并提供了在数据判断、重复检查及排序等场景的应用实例。
摘要由CSDN通过智能技术生成

一、位图的基本概念

位图法(bitmap)
作用: 判断某个数据存在不存在
适用范围:大规模数据,数据状态又不多
什么是位图: http://baike.sogou.com/v72576997.htm?fromTitle=位图法

所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。
例如,要判断一千万个人的状态,每个人只有两种状态:男人,女人,可以用0,1表示。那么就可以开一个int 数组,一个int有32个位,就可以表示32个人。操作的时候可以使用 位操作。

应用举例:
一、给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中
申请512M的内存
一个bit位代表一个unsigned int值
读入40亿个数,设置相应的bit位
读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在
二、使用位图法判断整形 数组是否存在重复
三、使用位图法进行整形 数组排序
四、位图法存数据

二、代码块

#pragma once
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值