我的图表以下列方式实现:
struct node{
string ID;
vector<string> neighbors;
}
struct graph{
vector<string> nodes;
}
节点是节点的向量。每个节点都包含其ID和所有邻居(它指向的节点)ID
的向量有没有办法可以应用Dijkstra算法或Bellman-Ford来找到两个节点之间的最短路径?找一个重复的循环?我该怎么做?
编辑:顽固的意外命名相同。答案 0 :(得分:1)
你没有提到边缘重量的任何内容。
如果你没有负边缘权重,Dijkstra算法就可以工作。
如果您没有负循环,Bellman-ford算法会起作用。但您也可以使用Bellman-Ford算法来检查您是否有负循环。
如果它是一个轻盈的边缘图,你可以使用BFS。