以下是我存储在哈希映射中的数据集,我必须找到两个值之间的最短路径。
9244, 4322, 4886, 5989, 8598, 9979, 1447, 9657
8598, 6752, 7146, 1951, 660, 1447, 7779
568, 1951, 4886, 2570, 9026, 9489, 7779
6752, 3424, 1977, 4746, 9657
77
哈希映射的键值是每行的第一个值,其余的是9244的假设“朋友”(在每种情况下都相同)。
我以这种格式保存在哈希表中:hashmap(key, array)
,其中:
如何找到两个键之间的最短路径?
答案 0 :(得分:1)
如果我正确地解释了您的问题,那么您正在谈论Shortest Path problem和directed graph。
如果您进行谷歌搜索,并查看维基百科页面,您将能够找到大量可以帮助您的代码示例和算法。
正如Peter Smit所说,A*算法是这个问题的常见算法。其他包括Dijkstra's和Bellman-Ford。
答案 1 :(得分:0)
您可以实施A*算法。您可以先构建一个图形,然后按照维基百科页面上的伪代码进行操作。