Python中如何在纯节点图中找到输入的节点列表的最短路径
我对图形这个话题还很陌生,所以这可能是一个已知的问题,我只是还没有找到一个合适的名字。我想解释一下。假设我们有一个有n个节点的图——存储为邻接列表。这是一个无向加权图,放置在笛卡尔平面上(因此可以得到每个节点之间的距离)。但只有顶点,没有边,如图所示: 现在,我输入一个节点列表(随机排序),例如Python中如何在纯节点图中找到输入的节点列表的最短路径,python,algorithm,graph,path,Python,Algorithm,Graph,Path,我对图形这个话题还很陌生,所以这可能是一个已知的问题,我只是还没有找到一个合适的名字。我想解释一下。假设我们有一个有n个节点的图——存储为邻接列表。这是一个无向加权图,放置在笛卡尔平面上(因此可以得到每个节点之间的距离)。但只有顶点,没有边,如图所示: 现在,我输入一个节点列表(随机排序),例如[n2,n7,n1],算法应该找到以最小距离连接这些节点的路径,然后返回有序数组-例如[n1,n2,n7] 对我来说,这似乎与寻路算法不同,因为您正在输入一个节点列表,您知道如何实现这一点吗?谢谢大家!
[n2,n7,n1]
,算法应该找到以最小距离连接这些节点的路径,然后返回有序数组-例如[n1,n2,n7]
对我来说,这似乎与寻路算法不同,因为您正在输入一个节点列表,您知道如何实现这一点吗?谢谢大家! 这看起来像是旅行推销员的问题。你可以找到很多关于它的文献,但你可以从维基百科页面开始 为了适应您的问题,您可以创建一个包含所有节点的图,并添加一个与所有其他节点距离相等的任意节点,这将作为您旅行推销员的起点
旅行商问题的求解技巧取决于问题的大小、您希望接近最优解的程度、您希望算法的速度等等。TSP不是必须在起始节点结束,从而创建一个循环吗?@SamuelV。存在变体