在社交网络中寻找密切关系的算法(图论)
Algorithm for finding close relationships in a social network (Graph theory)
我需要编写一个算法,给定一个用图表示的社交网络,找出一组人 X 是否形成 亲密关系。这意味着X中的每个人都彼此有关系。
例如,如果我们有图表:
集合{H,B,O}形成了亲密的友谊,因为子图中的每个人都相互联系。
集合 {O,F,K} 不存在,因为我们不能从 O 到 F
这个特定算法的伪代码是什么样的?
您要搜索的是Clique。
Bron-Kerbosch算法会为您找到
BronKerbosch1(R, P, X):
if P and X are both empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch1(R ⋃ {v}, P ⋂ N(v), X ⋂ N(v))
P := P \ {v}
X := X ⋃ {v}
我需要编写一个算法,给定一个用图表示的社交网络,找出一组人 X 是否形成 亲密关系。这意味着X中的每个人都彼此有关系。
例如,如果我们有图表:
集合{H,B,O}形成了亲密的友谊,因为子图中的每个人都相互联系。
集合 {O,F,K} 不存在,因为我们不能从 O 到 F
这个特定算法的伪代码是什么样的?
您要搜索的是Clique。
Bron-Kerbosch算法会为您找到
BronKerbosch1(R, P, X):
if P and X are both empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch1(R ⋃ {v}, P ⋂ N(v), X ⋂ N(v))
P := P \ {v}
X := X ⋃ {v}