2-BitMap算法是BitMap算法的一种扩展,核心是:每个数分配2个bit,00表示不存在,01表示出现一次,10表示出现2次,11表示多次或无意义。
一个int类型,占4个字节,在2-BitMap中可以表示16个数,表示全部int类型数据需要内存2^32*2bit=1G。时间复杂度O(n)。
经常用来解决的问题如下:
2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。
2-BitMap算法是BitMap算法的一种扩展,核心是:每个数分配2个bit,00表示不存在,01表示出现一次,10表示出现2次,11表示多次或无意义。
一个int类型,占4个字节,在2-BitMap中可以表示16个数,表示全部int类型数据需要内存2^32*2bit=1G。时间复杂度O(n)。
经常用来解决的问题如下:
2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。