当前位置: 首页 > news >正文

java推荐系统:好友推荐思路

1.表的设计

        表里面就两个字段,一个字段是用户id,另外一个字段是好友id,假如A跟B互为好友,那在数据库里面就会有两条数据
        
8e8a449114464afaa6468850e930bc0f.jpeg
 

2.推荐好友思路

59851339b51a406982ab3ab12ab53e39.jpeg

上面的图的意思是:h跟a的互为好友,a跟b,c,d互为好友...

        现在我要找a的推荐好友,这个时候怎么办呢?首先我们先找到,a的上级就是h,然后找到a的下级b,c,d,(这个对应到数据库表里面:a的上级就是好友id是a的id的那些数据,a的下级就是用户id是a的id的那些数据)

        1. 我们先找到h的上级用户:在图上没有上级用户,下级用户:a

        2. 找到b的上级:a,下级用户:z,e

        3. 找到c的上级:a,z,下级用户:没有

        4. 找到d的上级:a,下级用户:没有

        5. 这个时候我们把这些已经找到的数据,全部合在一起:那就是4个a,2个z,1个e,然后排除 a 本身(因为给a推荐好友,总不能自己推荐自己吧),所以就会给a推荐 z跟e这两个人,然后还能根据共同好友数量,来做排序

        6. 其中z跟a有两个共同好友(c跟b) ,e跟a有1个共同好友(b),同理给e推荐好友,也只会推荐到a这个人

        原理就是集合的交集,然后这种思路具体的算法就靠自己去实现了,不过也不是什么难事,有点编程功底的都可以实现的,只不过是速度的快慢而已。

        最简单的实现就是先查到a的上下级,然后通过for循环,依次找到各自的上下级用户,最后做统计处理

 

 

相关文章:

java推荐系统:好友推荐思路

1.表的设计 表里面就两个字段,一个字段是用户id,另外一个字段是好友id,假如A跟B互为好友,那在数据库里面就会有两条数据 2.推荐好友思路 上面的图的意思是:h跟a的互为好友,a跟b,c&am…...

java: 写入数据到HBase

一、添加依赖 <dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.6.0</version></dependency><dependency><groupId>org.apache.hbase</groupId><art…...

机器学习-基于Word2vec搜狐新闻文本分类实验

机器学习-基于Word2vec搜狐新闻文本分类实验 实验介绍 Word2vec是一群用来产生词向量的相关模型&#xff0c;由Google公司在2013年开放。Word2vec可以根据给定的语料库&#xff0c;通过优化后的训练模型快速有效地将一个词语表达成向量形式&#xff0c;为自然语言处理领域的应…...

5.vue学习笔记(数组变化的侦测+计算属性+Class绑定)

文章目录 1.数组变化的侦测1.1.变更方法1.2.替换一个数组 2.计算属性计算属性缓存vs方法 3.Class绑定3.1.绑定对象3.2.多个对象的绑定形式3.3.绑定数组3.4.数组与对象 1.数组变化的侦测 1.1.变更方法 vue能够侦听响应式数组的变更方法&#xff0c;并在它们被调用时出发相关的…...

Java十种经典排序算法详解与应用

数组的排序 前言 排序概念 排序是将一组数据&#xff0c;依据指定的顺序进行排列的过程。 排序是算法中的一部分&#xff0c;也叫排序算法。算法处理数据&#xff0c;而数据的处理最好是要找到他们的规律&#xff0c;这个规律中有很大一部分就是要进行排序&#xff0c;所以需…...

git常用命令及概念对比

查看日志 git config --list 查看git的配置 git status 查看暂存区和工作区的变化内容&#xff08;查看工作区和暂存区有哪些修改&#xff09; git log 查看当前分支的commit 记录 git log -p commitID详细查看commitID的具体内容 git log -L :funcName:fileName 查看file…...

57、python 环境搭建[for 计算机视觉从入门到调优项目]

从本节开始,进入到代码实战部分,在开始之前,先简单进行一下说明。 代码实战部分,我会默认大家有一定的编程基础,不需要对编程很精通,但是至少要会 python 的基础语法、python 环境搭建、pip 的使用;C++ 要熟悉基础知识和基础语法,会根据文章中的步骤完成 C++ 的环境搭…...

K8S-应用访问

1 service对象定位 2 Service 实践 手工创建Service 根据应用部署资源对象&#xff0c;创建SVC对象 kubectl expose deployment nginx --port80 --typeNodePortyaml方式创建Service nginx-web的service资源清单文件 apiVersion: v1 kind: Service metadata:name: sswang-ngi…...

商智C店H5性能优化实战

前言 商智C店&#xff0c;是依托移动低码能力搭建的一个应用&#xff0c;产品面向B端商家。随着应用体量持续增大&#xff0c;考虑产品定位及用户体验&#xff0c;我们针对性能较差页面做了一次优化&#xff0c;并取得了不错的效果&#xff0c;用户体验值&#xff08;UEI&…...

Unity 使用 Plastic 同步后,正常工程出现错误

class Newtonsoft.Json.Linq.JToken e CS0433:类型"JToken"同时存在于"Newtonsoft.Json.Net20,Version3.5.0.0,Cultureneutral,,PublicKeyToken30ad4fe6b2a6aeed"和"Newtonsoft.Json, Version12.0.0.0,Cultureneutral,PublicKeyToken30ad4fe6b2a6aeed…...

详细设计文档该怎么写

详细设计文档是软件开发过程中的一个关键阶段&#xff0c;它为每个软件模块的实现提供了详细说明。这份文档通常在概要设计阶段之后编写&#xff0c;目的是指导开发人员如何具体实现软件的功能。以下是撰写详细设计文档的步骤和一些示例&#xff1a; 步骤和组成部分 引言 目的…...

集团企业OA办公协同平台建设方案

一、企业对协同应用的需求分析 实现OA最核心、最基础的应用 业务流转&#xff1a;收/发文、汇报、合同等各种审批事项的业务协作与办理 信息共享&#xff1a;规章制度、业务资料、共享信息资源集中存储、统一管理 沟通管理&#xff1a;电子邮件、手机短信、通讯录、会议协作等…...

Spring Security之认证

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 Spring Security之认证 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是Spring…...

智能语音机器人NXCallbot

受出海公司业务全球化的影响&#xff0c;智能客服逐渐从便捷应用变为市场刚需。新基建七大领域中&#xff0c;人工智能及场景应用的基础建设是最核心的领域&#xff0c;而智能客服作为商业化实际应用的核心场景之一&#xff0c;能提升企业运营效率&#xff0c;为行业客户赋能。…...

Vue 3中toRaw和markRaw的使用

Vue 3的响应性系统 在Vue 3中&#xff0c;响应性系统是构建动态Web应用程序的关键部分。Vue使用响应性系统来跟踪依赖关系&#xff0c;使数据更改能够自动更新视图。这使得Vue应用程序在数据变化时能够高效地更新DOM。Vue 3引入了新的Proxy对象来替代Vue 2中的Object.definePro…...

移动神器RAX3000M路由器不刷固件变身家庭云之三:外网访问家庭云

本系列文章&#xff1a; 移动神器RAX3000M路由器变身家庭云之一&#xff1a;开通SSH&#xff0c;安装新软件包 移动神器RAX3000M路由器变身家庭云之二&#xff1a;安装vsftpd 移动神器RAX3000M路由器变身家庭云之三&#xff1a;外网访问家庭云 移动神器RAX3000M路由器变身家庭云…...

基于多反应堆的高并发服务器【C/C++/Reactor】(中)线程池的启动和从线程池中取出一个反应堆实例

一、线程池的启动 &#xff08;主线程&#xff09; // 启动线程池 &#xff08;主线程&#xff09; void threadPoolRun(struct ThreadPool* pool) {/*线程池被创建出来之后&#xff0c;接下来就需要让线程池运行起来&#xff0c;其实就是让线程池里的若干个子线程运行起来*//…...

go语言gin框架的基本使用

1.首先在linux环境上安装go环境&#xff0c;这个网上搜搜就行 2.初始化一个go mod&#xff0c;网上搜搜怎么初始化 3.下面go代码的网址和端口绑定自己本机的就行 4.与另一篇CSDN一起食用&#xff0c;效果更好哟---> libcurl的get、post的使用-CSDN博客 package mainimpo…...

TypeScript 从入门到进阶之基础篇(六) 类型(断言 、推论、别名)| 联合类型 | 交叉类型

系列文章目录 TypeScript 从入门到进阶系列 TypeScript 从入门到进阶之基础篇(一) ts基础类型篇TypeScript 从入门到进阶之基础篇(二) ts进阶类型篇TypeScript 从入门到进阶之基础篇(三) 元组类型篇TypeScript 从入门到进阶之基础篇(四) symbol类型篇TypeScript 从入门到进阶…...

Linux操作系统基础(14):文件管理-文件属性命令

1. 查看文件属性 stat命令用于显示文件的详细信息&#xff0c;包括文件的权限、所有者、大小、修改时间等。 #1.显示文件信息 stat file.txt#2.显示文件系统状态 stat -f file.txt#3.显示以时间戳的形式文件信息 stat -t file.txt2. 修改文件时间戳 touch命令用于创建新的空…...

CodeWeaver:多仓库聚合分析工具的设计、部署与实战指南

1. 项目概述与核心价值最近在折腾一个老项目&#xff0c;需要把一堆陈年的、用不同语言和框架写的代码仓库整合到一个统一的视图里进行管理和分析。手动去每个仓库里翻看提交记录、统计代码行数、检查依赖关系&#xff0c;这活儿想想就头大。就在我准备硬着头皮写脚本的时候&am…...

降AI率软件越便宜越好吗?实测5个主流降AI工具,首选嘎嘎降!

一、前言:2026 年毕业必须通过 aigc 检测 2026 年各高校对学术论文的 AIGC 疑似度的审查全面变严, 均发布了具体 AIGC 检测报告和数值要求,211 和 985 高校规定本科论文 AI 率要低于 20%, 硕士要求 AI 率不高于 15%。普通高校一般要求 AI 率控制在 30% 以内。AIGC 检测率超标的…...

ElevenLabs希伯来文语音合成:从API调用失败到99.2%自然度达标的7步生产级优化流程

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs希伯来文语音合成&#xff1a;从API调用失败到99.2%自然度达标的7步生产级优化流程 ElevenLabs 官方虽未明确标注希伯来语&#xff08;he-IL&#xff09;为“fully supported”&#xff0c;但…...

嵌入式核心板小型化设计:从邮票孔到板对板连接器的技术演进与应用

1. 项目概述&#xff1a;当“小”成为一种刚需在嵌入式硬件开发领域&#xff0c;我们常常面临一个经典的权衡&#xff1a;性能、成本与体积。过去&#xff0c;为了追求极致的稳定性和丰富的接口&#xff0c;核心板往往做得比较大&#xff0c;通过邮票孔或高密度连接器与底板固定…...

【独家逆向分析】ElevenLabs泰米尔语音库采样源考证:覆盖钦奈、哥印拜陀、贾夫纳三地口音的142个发音人原始标注数据集(含IPA映射表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs泰米尔语音库的逆向分析背景与研究价值 ElevenLabs 作为领先的语音合成平台&#xff0c;其多语言语音库&#xff08;含泰米尔语&#xff09;在印度南部及全球泰米尔语社区中被广泛集成于无障…...

Linux系统操作痕迹清理:Shell脚本实现与安全运维实践

1. 项目概述与核心价值在Linux系统上进行日常运维、故障排查或者一些自动化任务时&#xff0c;我们执行的每一条命令、访问的每一个文件&#xff0c;甚至系统本身的运行状态&#xff0c;都会留下或多或少的“痕迹”。这些痕迹&#xff0c;对于系统审计和安全分析来说是宝贵的日…...

2026最权威的六大AI辅助论文神器推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 飞速发展着的人工智能技术&#xff0c;在学术领域里应用变得越发广泛&#xff0c;特别是在毕…...

JL-01多通道温湿度记录仪:环境监测的得力助手

在农业、林业与地质研究等领域&#xff0c;环境因子的精准监测是科研与生产决策的核心依据。JL-01多通道温湿度记录仪凭借小巧便携的机身、强大的功能配置与灵活的定制化服务&#xff0c;成为环境数据采集的得力工具&#xff0c;为各类场景下的温湿度监测提供可靠支持。一、功能…...

149.PyTorch+YOLOv8 实战|口罩检测全流程,含模型评估与 ONNX 导出

摘要 YOLO(You Only Look Once)作为目标检测领域最经典的一阶段算法,自2015年提出以来经历了v1至v9的多次迭代,在工业界和学术界均占据了重要地位。 本文以Ultralytics官方库为基础,从核心原理出发,系统讲解YOLO的架构设计、训练流程与推理部署。通过一个完整的口罩检测…...

Python图像转二维数组:PIL与NumPy实战指南

1. 项目概述&#xff1a;从图片到数据的桥梁在图像处理、机器学习或者嵌入式开发的很多场景里&#xff0c;我们常常需要将一张图片“翻译”成计算机能直接理解和运算的数字形式。比如&#xff0c;你想分析一张照片的亮度分布&#xff0c;或者把一个简单的图标转换成单片机可以显…...