【发布时间】:2015-04-17 04:24:13
【问题描述】:
我有一个名为friendgraph(friend_id,friend_follower_id) 的表,我想计算给定朋友和给定度数的6 度分离度。 表格如下所示:
friend_id, friend_follower_id
0,1
0,9
1,47
1,12
2,41
2,66
2,75
3,65
3,21
3,4
3,94
4,64
4,32
如何在给定friend_id_a和order_k的地方建立一个查询,找到与friend_id_a相差k度的用户?
这是我的初始查询文件的样子:
create or replace function degree6
(friend_id_a in integer, order_k in integer)
return sys_refcursor as crs sys_refcursor;
我正在寻找任何可以帮助我开始并最终获得输出的帮助或资源。
更新: 输出将是除了friend_id_a之外的其他朋友k度的列表。
定义 A 的 order-k 跟随者 B 使得 B 不是 A,并且: 1. 如果 k = 0,则 A 是 A 的唯一 0 阶跟随者。 2. 如果 k = 1,则 A 的追随者是 A 的 1 阶追随者。 3. 如果 k > 1;那么对于 i = 0 到 k-1,B 不是 A 的第 i 阶跟随者; B是追随者 A的一个订单-(k-1)个追随者
谢谢。
【问题讨论】:
-
什么是分离度?你能用提供的数据举个例子吗?
-
我发布了有关问题的更新。
-
有关算法帮助,请查看此已回答的帖子:[此处][1] [1]:stackoverflow.com/questions/2076715/…
-
我看到了,但不是很明白。
标签: java sql oracle graph plsql