找到从任何节点到一个节点的最小公共路径

时间:2013-11-29 17:06:09

标签: python path shortest

我的问题如下。

我有一个“备份”节点和其他节点。 从这些节点,我需要生成一个最小的备份节点的公共路径(未加权和无向图) 我不是每次都需要解决方案。我怎么知道我是否可以生成这条路径。

我正考虑将图表拆分成一些子图并搜索最小的“子路径”。

但我在图论方面不太好。 我使用Python和C ++。

先谢谢你。

(对不起如果已经有这样的问题,我已搜索过,但未找到)

2 个答案:

答案 0 :(得分:1)

  • 如果您需要找到距离“备份”节点的距离最小的节点,那么BFS将是合适的。
  • 据我了解,您需要找到从图中的几个(如果不是全部)noes到“backup”节点的最小路径。 为此,我认为,您需要研究处理Minimum Spanning Trees
  • 的算法
  • 另外,我发现了另一个类似于你的StackOverflow问题: SO#1
  • 您可能还会发现此页面非常有用: Shortest Path Tree。它不提供任何代码示例,但它是一个起点。一旦你了解了它背后的理论,我相信你会想出代码或者能够找到它。

答案 1 :(得分:0)

所以问题不在于“最短”,而在于它们是否已连接。

您可以从“备份”节点开始bfsdfs,您到达的每个节点都可以生成“备份”节点的路径。

退房:

http://en.wikipedia.org/wiki/Breadth-first_search
http://en.wikipedia.org/wiki/Depth-first_search