位图算法

位图算法定义
位图法就是bitmap的缩写,所谓bitmap,是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况,通常是用来判断某个数据存不存在的。这种算法在操作系统内核(Linux和RTThread等)源码中会经常看到,所有很有必要去研究下这种算法,这样可以有助于阅读和分析内核源码。
位图其实是用数组实现的,数组的每一个元素的每一个二进制位都可以表示一个数据在或者不在,0表示数据存在,1表示数据不存在。因为比特位只有两种状态,要不是0,要不就是1,所以位图其实就是一种直接定址法的哈希,只不过位图只能表示这个值在或者不在。
假如定义一个数组 int bit[1], 该数组是4个字节,32bit,如下图所示:
在这里插入图片描述 假如有一个待排序的数组