如何找到社交网络实体之间的连接类型

时间:2015-06-10 07:18:10

标签: c++ c data-structures

我正在尝试社交图问题,该问题将分析图并回答查询,了解实体之间的连接类型。通过社交图,我的意思是代表社交世界实体之间友谊的图表。顶点是实体,边是两个实体之间的友谊,如:

1跳:1度

2跳:2度

3跳:3度等等。

enter image description here

在这里,我有5个人Abhay,Kapil,Hari,Isha和Jaya。

Hari是Kapil,Jaya和Isha的朋友。

Abhay是Kapil的朋友。

现在,我想编写一个函数Connection(entity 1,entity2),它将返回它们之间的连接类型。

例如,如果我写连接(Kapil,Isha),那将返回2

同样,Connection(Abhay,Jaya)将返回3

如果是断开连接的图形,如果没有连接功能,则应返回0.

我想设计Connection()函数,它的工作方式如下: - input :: Abhay Jaya output :: Degree:3

据我所知,它是BFS算法的一个应用。但是无法成功实现它。如何为此推导出类似伪代码的C或C / C ++代码?

1 个答案:

答案 0 :(得分:0)

你应该看一些图算法来解决它。算法不是特定于语言的,因此您可以在线获取想法并实现/查找实现。

您可以使用2种方案解决它:

  1. 使用Floyd Warshall
  2. 等算法预先计算所有距离
  3. 使用Dijkstra
  4. 等算法动态计算距离