提供节点之间的最短路径,以及是否连接了图形

时间:2013-03-04 19:46:48

标签: java data-structures graph

显然下面是一个家庭作业问题。我无法理解我的教授所说的任何内容,所以我甚至不需要知道从哪里开始寻找找到这个问题答案所需的信息。如果你能给我一些关于在哪里学习这些东西的线索,以及你如何解决这个问题,我将不胜感激。

在下图中,找到两个节点之间的最短路径 - 您的选择,但要使问题变得有趣。

这是一张连线图吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

你应该使用A star算法来找到两个节点之间的最短路径。 http://en.wikipedia.org/wiki/A_star

您可以使用Menger定理判断它是否正在连接 http://en.wikipedia.org/wiki/Menger%27s_theorem


答案 1 :(得分:1)

首先要了解图表在内存中的表示方式。如果由您决定,您可以使用二维数组,因为这是表示加权边的最简单方法。

最容易实现的最短路径算法可能是Djikstra,它比A *略慢但复杂。要使用Djikastra,您需要首先实现优先级队列。在Java中有一个PriorityQueue类,否则你必须自己实现它。之后,使用维基百科或其他任何地方提供的伪代码,实现应该相当简单。