我使用Kruskal算法生成了这个最小生成树,我很难在两个节点之间生成路径。有人可以用伪代码帮我吗?我尝试使用Adjacency List和Adjaceny矩阵
Loc1 | Loc2 | Distance
02 | 10 | 2.00 Km
05 | 07 | 5.39 Km
02 | 09 | 5.83 Km
04 | 05 | 5.83 Km
06 | 08 | 5.83 Km
03 | 09 | 7.07 Km
01 | 04 | 11.18 Km
07 | 09 | 11.18 Km
07 | 08 | 15.81 Km
Total Weight = 70.12 Km
----------------------------------------------------
答案 0 :(得分:1)
如果您只想要两个节点之间的任何路径,Breadth First Search会这样做,并且会生成最短路径(因为它是最小生成树)。
答案 1 :(得分:0)
根据定义,生成树没有循环(或循环),因此最多只能在两个节点之间有一条路径(即不是“路径”,复数)。
也许我不理解这个问题。您是否试图找到树中两个给定节点的连接方式?
如果是这样的话,对我来说就像是最简单的蛮力,你可能会沿着它可能的边缘从一个点跟随,也许是从堆栈中推出和弹出可能性,这将是最坏的情况O(边缘)运行时间,与Kruskal的算法相比,这将是微不足道的。 你需要更快的东西吗?