因此,如果我在图中有两个顶点,并且它们通过多个边连接,同时它们之间具有相同的最短路径(即,如果我有节点A和节点B并且它们通过三条边直接连接(那里)每个距离之间有3条最短路径1)所以计数应该返回3)如何修改BFS算法来实现呢?这是我的代码,它只计算2个节点之间的最短路径,但不计算这些最短路径的数量。
public void BFSDegree(Graph g, string s, string p)
{
Queue<string> q = new Queue<string>();
dist.Add(s, 0);
q.Enqueue(s);
while (q.Count() != 0)
{
string j = q.Dequeue();
foreach (string h in g.adjacentTo(j))
{
if (!dist.ContainsKey(h))
{
q.Enqueue(h);
dist.Add(h, 1 + dist[j]);
}
if (j == p)
{
Console.WriteLine(" " + dist[j]);
return;
}
}
}
}