<?php
/**
 * 数据库中得到的关注列表
 * $str字符串中,每个逗号分隔的记录表示前者关注后者
 */
$str = "A-B,A-C,A-D,A-E,A-F,A-G,B-C,B-A,B-G,B-I,B-P,B-M,C-A,C-B,C-D,C-G,C-J,C-M";
$arr = explode(',', $str);
/**
 * 遍历$arr,找出每个人关注的集合与被关注的集合
 * 关注的集合index为att
 * 被关注的集合index为bea
 */
$return = array();
foreach($arr as $one){
$relation = explode('-', $one);
$index_1 = $relation['0'];
$index_2 = $relation['1'];
$return[$index_1]['att'][] = $relation['1'];//$index_1 关注了 $relation['1']
$return[$index_2]['bea'][] = $relation['0'];//$index_2 关注了 $relation['0']
}
/**
 * 找出A的二度人脉
 */
$A_att = $return['A']['att'];//A的关注集合
$A_era = array();//初始化A的二度人脉数组
foreach($A_att as $p){
if(isset($return[$p]['att']) && is_array($return[$p]['att'])){//如果$p有关注集合,则将其att集合合并到A的二度人脉数组中
$A_era = array_merge($A_era, $return[$p]['att']);
}
}
//$A_era = array_unique($A_era);//不去除重复的值,用来计算二度人脉中出现的人在A用户关注的人中有多少人同时关注
$A_era = array_diff($A_era, array('A'));//二度人脉中去除用户自己
?>

PHP实现二度人脉算法相关推荐

  1. 【算法题】MapReduce编程,寻找二度人脉

    这是某资讯APP公司的面试题,考察MapReduce的编程思想. 给定一个人脉关系的文件,从中找到二度人脉.比如给定如下的人脉关系, A B C D E B E F C G G H I J 应输出 A ...

  2. Hadoop实例:二度人脉与好友推荐

    一.在新浪微博.人人网等社交网站上,为了使用户在网络上认识更多的朋友,社交网站往往提供类似"你可能感兴趣的人"."间接关注推荐"等好友推荐的功能.一直很好奇这个 ...

  3. 图数据库Neo4j实现人脉推荐——二度人脉

    "吾尝终日而思矣,不如须臾之所学也:吾尝跂而望矣,不如登高之博见也.登高而招,臂非加长也,而见者远:顺风而呼,声非加疾也,而闻者彰.假舆马者,非利足也,而致千里:假舟楫者,非能水也,而绝江河 ...

  4. 二度人脉推荐(案例)

    - 基于:hadoop2.x集群:HDFS + MapReduce JobFriends Mao01 Resource01 Map02 Resource02 JobFriends package co ...

  5. SDNU1129.多度人脉

    Description 艾斯蒂恩优公司最近打算推出一款社交网站,为了让更多用户之间互加好友,项目经理ZZK准备推出多度人脉功能.我们知道,人脉是我们直接的好友,那么多度人脉就是包括好友的好友以及好友的 ...

  6. 【强化学习】基于DQN的《只狼:影逝二度》自学习算法研究

    前言 写在前面 作为强化学习的入门练手项目之一,得益于<只狼>的特殊游戏机制,这个看似复杂的课题实际上难度不高且相当有趣(特别鸣谢两位b站up提供的宝贵思路). <只狼>作为一 ...

  7. 大家一起讨论一下朋友网的人脉关系算法是怎么实现的

    大家一起讨论一下啊!最短路径? 1.一度人脉:双方直接是好友 2.二度人脉:双方有一个以上共同的好友,这时朋友网可以计算出你们有几个共同的好友并且呈现数字给你.你们的关系是: 你->朋友-> ...

  8. LinkedIn领英人脉显示1度、2度、3度、领英会员的意思和区别是什么?

    对于新注册使用LinkedIn领英的人来说,LinkedIn领英人脉的规则一定是最让人头痛的问题之一,因为我刚开始用LinkedIn领英的时候,就是被这个折磨到差点放弃. 但LinkedIn领英又是全 ...

  9. 如何打造领英朋友圈_有哪些领英快速扩充人脉的技巧?

    为什么在LinkedIn领英上搜到的客户都是显示领英会员(Linkedin Member)?无法向对方发送添加好友邀请?也无法向访问对方的LinkedIn领英个人主页?这是很多人都遇到的难题,也是使用 ...

最新文章

  1. [转]ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略
  2. python 读写utf8文件_Python关于 文件读写的总结
  3. java 添加图片背景_java添加背景图片
  4. Visual Studio/SQL Server系统开发常见问题归纳
  5. 关于文件上传,我要向struts提点意见
  6. 笔记本显示未连接录音服务器,电脑显示未安装音频设备怎么办?
  7. aforge java_C#使用Aforge调用摄像头拍照的方法
  8. Chrome浏览器安装Axure插件教程
  9. 8个免费和最佳开源视频流服务器软件
  10. java读取文件的方法是_java读取文件的方法有几种
  11. linux文件分号意思,linux中的分号和,|和||的用法与区别
  12. 程序员职业发展:项目经理、技术经理还是产品经理
  13. ‘git clone‘ failed with status 128
  14. 华为 会议室分配时间最长_华为“办公室新物种”来了,智慧办公一屏到位
  15. 从零开始写项目第三篇【在线聊天和个人收藏夹】
  16. 华三c语言笔试,H3C笔试及答案解析
  17. Linux---systemctl命令
  18. 推荐12个国外免费自助建站网站
  19. linux 25端口漏洞,Linux通过栈溢出进行提权实战(dpwwn03)
  20. GPU内存分明没人占用但是分配不了内存的解决办法

热门文章

  1. epson lq-630k使用后无法正常关机
  2. 华硕z170a如何开启m2_华硕z170怎么设置uefi启动
  3. 酷睿i5 8250u和i5 8265u差距 i58250u和i58265u区别
  4. C#OWC11.DLL失敗: 80040154
  5. HTML5的表格元素
  6. 2019酒店旅游业喜迎“猪年”春节新动态
  7. asp.NET中 treeview 控件的使用
  8. 运势运程算命小程序v1.2.0 功能模块+微信小程序+前端+后端+新增每日星座卡片
  9. 腾讯云轻量应用服务器使用 SRS 应用镜像搭建个人直播间、视频转播、本地录制!
  10. Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev