java - 确定最短路线的难题

标签 java puzzle

今天我遇到了一个问题,我们必须确定源和目的地之间的最短距离

有很多节点,每个节点都是一个城市的机场(PSB 图像),计数是城市之间的航类数量。现在我必须确定两个给定城市之间的最短路线

现在我想到的方法是采用一个 hashMap,它将源城市存储为键,将目标城市存储为值。

现在,为了确定两个给定城市之间的最短路线,我要做的是搜索键集来识别包含源城市的条目对象,并在 HM 的值中搜索目的地城市,例如

我的 HM 会像(引用图像以了解 hm 中的条目)

hm.put(h,b);
hm.put(b,c);
hm.put(c,e);
hm.put(b,e);

现在假设我被要求确定 h 和 e 之间的最短路线

根据我的算法,我将在 hm 的 key 集中搜索“h”城市。

1) 我会得到 <h,b> map 条目对象 现在我将遍历 hm valueSet对于“e”城。 2)我会得到<c,e><b,e> map 条目对象

现在借助entry.value b我从步骤 1 中得到的,我将尝试关联从步骤 2 中得到的条目对象中的键,因此我将确定 h-b-e 与 h-b-c-e 相比距离更短

enter image description here

我不仅想了解是否有更好的解决方案,而且还想了解可以解决此类设计问题的任何书籍或链接。

最佳答案

看看这两个算法:DjistrakA* 。 你的想法基本上相当不错,尽管它只适用于较小的图表和相当特定的条件。

关于java - 确定最短路线的难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29626197/

相关文章:

puzzle - 数组中的数字是否包含有效三角形的边

java - Maven 循环依赖

64 位 Vista 上的 Java RS232 通信

java - "operation complete"在Netty中是什么意思

java - 从单独的类运行 mysql 函数

puzzle - 检查数字是否可被3整除

Java 相当于 python 嵌套 for 循环

android - 拼图游戏。打开 gl 与 canvas/surfaceView

c - Facebook拼图提交失败

javascript - 如何删除照片