java是一个包含两个变量的列表
我想建立一个映射算法并做以下事情:
首先,在地图上创建所有点
已经给出了连接的点以及它们之间的长度(作为整数)
现在的问题是找到它们之间最短的连接
因此,我要做的是为每个点创建一个对象,其中包含一个列表,列出这个特定点连接到的所有点,以及从原始点到该点的长度
例如:
从A到g有7的距离
从A到c有3的距离
其中A连接到c,A连接到g
我的问题是,如果我使用HashMap,我会遇到一些问题,因为HashMap不容易循环,所以我无法确定这些点是否是连接的,有没有更简单的方法来实现这一点,或者有没有替代HashMap的方法
# 1 楼答案
见Prim's Algorithm和Dijkstra's algorithm和Minimum Spanning Tree
如果你有一组顶点(在你的例子中是一个点)和它们之间路径的权重(在你的例子中是距离),它的MST只给出连接所有顶点的路径,并且距离的总和最小
Prim算法和Dijkstra算法可用于寻找MST