【问题标题】:Programming and evaluating Dijkstra algorithm [closed]编程和评估 Dijkstra 算法 [关闭]
【发布时间】:2014-01-26 02:12:07
【问题描述】:

我必须做一个关于最短路径算法的项目。我不是真正的专业人士,我只是一个普通的学生。我必须先解决一个问题(火车路线、公共汽车路线、任何旅行路线),然后选择合适的算法来解决它。然后我必须对其进行编程(使用编码语言java,python ..)然后我应该评估它(算法的速度如何,时间复杂度等)以及是否有更好的算法可以实现而不是什么我选择了第一个。

选择问题是我最难的部分 不知道我应该探索什么样的问题才能使用该算法! 问候

【问题讨论】:

  • 请澄清您的问题!并向我们​​展示您到目前为止所做的工作!
  • 我澄清一下..希望现在更好..
  • 这个问题似乎离题了,因为它是关于选择要解决的问题,而不是关于在处理其中一个问题时出现的问题。
  • 你在取笑我吗?无装载机!!无论如何谢谢你..我只是想知道我应该选择什么,然后我应该更深入..我认为该网站是关于(帮助)其他人芬兰他们应该做的事情!

标签: java eclipse computer-science graph-algorithm


【解决方案1】:

让我们以您居住的城市为例。乘坐任意两个公交车站,即 A 和 B,以及整个通勤网络。这个网络是一个图。车站是节点,车站之间的通勤连接是边(边权重 = 公共汽车在两个车站之间行驶所花费的时间)。

说,您想在尽可能短的时间内从 A 地旅行到 B(您不想浪费时间,对吗?)。

Dijkstras 算法以表示通勤网络和节点 A 的图形作为输入,并且能够推断出从 A 到任何其他站点的最短路径(包括从 A 到 B 的最短路径)。

这对你有帮助吗? Dijkstra 上的维基百科有更详细的示例。

【讨论】:

  • 是的.. 所以我可以使用公交车站作为顶点和边是距离?
  • 我可以用距离代替时间吗?
  • 是的,没错。您可能希望按行程所用的时间或距离对边缘进行加权(请注意,如果存在 direct,则在顶点 X 和 Y 之间,我的模型中只有一条边缘这些车站之间的巴士连接=顶点)
  • 请注意,这只是一个示例,并且只是无限模型之一;-) 您几乎可以使用任何东西作为顶点和边,Dijkstra 只会找到一个顶点与任何其他顶点之间的最短距离。 @user3236586
  • @user3236586 为了玩转它,JUNG2 有一个不错的 Java 实现。
猜你喜欢
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
相关资源
最近更新 更多