首页 新闻 搜索 专区 学院

SNS可能认识的人算法现实

0
悬赏园豆:5 [已关闭问题]

如题。目前想法是,A有好友B、C,B有好友D,C有好友E,那么A可能认识D、E。大家谈谈看,可有更好的办法?

James Lu的主页 James Lu | 初学一级 | 园豆:195
提问于:2010-08-12 14:33
< >
分享
其他回答(3)
0

这个问题不是你提的吧?http://space.cnblogs.com/question/16485/

Astar | 园豆:40805 (高人七级) | 2010-08-12 14:43
哎呦,确实是我提的。不过,有人比我早提了。
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 14:48
@James Lu:同城,校友,还有同专业,同爱好……,这些基于搜索可以方便现实。有两个以上共同好友,即是可能认识的人? ---这由需求来定,看你们怎么设计。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-12 15:04
@Astar:上级需求就是这样:可能认识的人,同学,同城……
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 15:12
@James Lu:按照几个条件去拼接,拿给上级看,看哪个符合要求。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-12 15:18
@Astar:谢谢回答,你很有耐心哦。呵呵,其实我早就做了一个打发了上级,人家只要看到就行了。时间紧就用的sql语句直接查的,没算法可言,我内心过不去,所以特来发问。在等几天看看,没更好的回答,就把分给你。
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 15:28
0

根据好友关系做图,去环,单各可达,计算步长……

Gray Zhang | 园豆:17610 (专家六级) | 2010-08-12 14:52
好抽象哦!
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 15:03
0

可以参看这个 http://www.cnblogs.com/jsjkandy/archive/2009/09/23/1572509.html

你的实现算法一定要附加权重,比如"同城","校友","同专业","同爱好",都可以作为权重,另外还要把深度加上,规定个上限.

Launcher | 园豆:45045 (高人七级) | 2010-08-12 15:39
没看明白…
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 15:54
@James Lu:比如要找A可能认识的人,然后,我们设定了条件“同城”,“同爱好”,设定搜索深度为 2 1,以A为起点,选出和A“同城”,“同爱好”的C,D; (深度 = 0) < 2 2(a),以C为起点,选出和C“同城”,“同爱好”的E; (深度 = 1) < 2 2(b),以D为起点,选出和D“同城”,“同爱好”的F; (深度 = 1) < 2
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-12 16:07
不必搞这么复杂吧,数据库应用这么查下去,几个人登录后可能就搞死服务器了。
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 16:25
@James Lu:当然,你不能每次从数据库读,而是从缓存中取。另外就是通过一个单独的应用去构建这个关系网格,当有人注册或注销,改变属性时就修改该关系网格。 当前这个应用,我总结的限定条件就是上一次的搜索结果是下一次搜索的入口条件。
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-12 16:43
oh my Lady GaGa~
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-12 16:57
0

这个就是图的遍历,广度遍历或者深度遍历都可以实现,去看数据结构那本书,图的遍历一节。

eaglet | 园豆:17119 (专家六级) | 2010-08-13 07:44
你起得好早。
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-13 11:46
@James Lu: 这个世界上还有时差一说,何况北京时间 7 点 44 分也不算太早吧。
支持(0) 反对(0) eaglet | 园豆:17119 (专家六级) | 2010-08-14 07:02
@eaglet:我以为你在国内嘛。
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-16 10:47
@eaglet:北京时间7点的程序员要么在床上,要么在车上……
支持(0) 反对(0) James Lu | 园豆:195 (初学一级) | 2010-08-16 10:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册