我有一個名爲friendgraph(friend_id,friend_follower_id)的表,我想計算給定朋友和給定學位的6度分離度。 表看起來是這樣的:用pl/sql計算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,並且:如果k = 0,則A是A的唯一0級跟隨器。如果k = 1,則A的追隨者是A的追隨者1 3.如果k> 1;那麼對於i = 0到k-1,B不是A的order-i跟隨者;並且B是訂單 - (k-1)追隨者的追隨者 A
謝謝。
什麼是隔離的程度?你能舉出一個提供數據的例子嗎? – Suing
我發佈了一個更新的問題。 – user2512806
的算法的幫助,看看這個回答後:[點擊這裏] [1] [1]:http://stackoverflow.com/questions/2076715/challenge-how-to-implement-an-算法爲六度分離 – Suing