# Bitmap相似度计算推荐算法 **Repository Path**: rikuasoby/BitMapRecommendation ## Basic Information - **Project Name**: Bitmap相似度计算推荐算法 - **Description**: 基于Bitmap,可做用户画像存储,通过计算多个Bitmap的相似度实现推荐. 先对必须项Bitmap进行and操作,再将相似项Bitmap相加.返回相似重叠度top的index,并支持传入自定义分值参与计算 学习用 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 2 - **Created**: 2021-10-10 - **Last Updated**: 2024-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README #### 操作说明 运行TestMain.java,参照main方法编程 #### 功能说明 使用Bitmap存储数据,进行多个bitmap的共性计算 1.支持and计算 2.循环相加按最终分值大小返回优先队列 3.先部分and,再部分计算分值 4.支持自定义分值大小,总分值不可超过255 计算逻辑如下 男 10011000 程序员 10001001 打游戏 00001000 计算得出 ​ 20013001 结果根据相似度优先队列返回,可固定队列大小 返回结果: 4 0 3 7 #### 注意事项 数据量最大为Integer.MAX_VALUE,受限于计算数组大小 计算数组用Byte存储,故最多支持255种bitmap相加 bitmap应根据预估大小初始化,避免循环扩容 扩容仅为1.1,为避免空间过多浪费 数据从0开始增长最优,底部未做压缩优化,请注意空间浪费