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

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

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

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

我的HM就像(参考图片以了解hm中的条目)

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


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

按照我的算法,我将在hm的键集中搜索“ h”城市。

1)我将获得<h,b>地图条目对象
    现在,我将遍历hm valueSet表示“ e”城市。
   2)我将获得<c,e><b,e>地图条目对象

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



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

最佳答案

看一下这两个算法:DjistrakA*
尽管仅适用于较小的图和特定条件,但您的想法基本上是不错的。

10-08 12:59