Bitmap算法有哪些关键小结点?

2026-05-25 05:080阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计1349个文字,预计阅读时间需要6分钟。

Bitmap算法有哪些关键小结点?

Bitmap实现用户画图的标签中,基本思想是使用一个bit位来标记每个像素的Value,而Key即是对应的像素位置。由于采用了bit作为存储单位,节省了存储空间;如何存储一个数字0,表示空或无,可以通过在Bit-map中对应位置设置0来实现。

Bitmap 实现 用户画像的标签

Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此节省存储空间;

如何存储一个数

0表示不存在,1表示存在

例如:存储{1,2,5,6}这四个整型数


Bitmap 去掉重复的整数型

虽然HashSet和HashMap也能实现用户的查询和统计,但是如果使用HashSet或HashMap存储的话,每一个数据,比如用户ID都要存成int,占4字节 = 32bit;而一个用户ID在Bitmap中只占一个bit,内存节省了32倍。


优秀的并集和交集运算

交集∩运算:如何查找使用iOS系统和付费VIP的用户

并集∪运算:如何查找Windows系统或付费VIP的用户

这就是Bitmap算法的另一个优势:位运算的高性能。

缺点:无法做非运算

例如:标签中有勇士球迷和湖人球迷

求非湖人球迷,去做非运算的话

只有2个是非湖人球迷,却有7个结果,这样是不行的。

阅读全文

本文共计1349个文字,预计阅读时间需要6分钟。

Bitmap算法有哪些关键小结点?

Bitmap实现用户画图的标签中,基本思想是使用一个bit位来标记每个像素的Value,而Key即是对应的像素位置。由于采用了bit作为存储单位,节省了存储空间;如何存储一个数字0,表示空或无,可以通过在Bit-map中对应位置设置0来实现。

Bitmap 实现 用户画像的标签

Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此节省存储空间;

如何存储一个数

0表示不存在,1表示存在

例如:存储{1,2,5,6}这四个整型数


Bitmap 去掉重复的整数型

虽然HashSet和HashMap也能实现用户的查询和统计,但是如果使用HashSet或HashMap存储的话,每一个数据,比如用户ID都要存成int,占4字节 = 32bit;而一个用户ID在Bitmap中只占一个bit,内存节省了32倍。


优秀的并集和交集运算

交集∩运算:如何查找使用iOS系统和付费VIP的用户

并集∪运算:如何查找Windows系统或付费VIP的用户

这就是Bitmap算法的另一个优势:位运算的高性能。

缺点:无法做非运算

例如:标签中有勇士球迷和湖人球迷

求非湖人球迷,去做非运算的话

只有2个是非湖人球迷,却有7个结果,这样是不行的。

阅读全文