可以先看看我的"讲一讲线性表"再来继续我这篇可能会更清楚点
可以说位图应该是一个数组的应用场景
位图本质还是一个数组,只是通过数组的机制来用更少的内存,存放更多的数据。
比如我们现在需要存放1-1000000的数字的数据,那么我们需要开辟一个1000000int类型的长度的数组来存放,一个int4个byte,相当于占用了4000000byte的内存控件,那我们是否可以通过申请1000000个bit位,第一个bit位表示1,第二个bit位表示2,。。。第1000000bit位表示1000000,
那我们可以通过0表示存在,1表示不存在来表示这个数是否存在,
因为8个bit才是一个byte,那我们只需要1000000/8=125000byte就完成了前面一个本来需要4000000byte的需求,这是32倍的内存性能提升。
这就是位图的思想。