Python可能的路径查找

Python可能的路径查找,python,algorithm,list,dictionary,path-finding,Python,Algorithm,List,Dictionary,Path Finding,我有一个关于从Python中查找所有可能路径的问题。我得到了城市和每个城市的道路。路径是: B:C D F G A M N O C:E G H D:F H J N O F:G M G:A M A:K N L:N H:I A M I:K M N J:K E:A K O K:N O 城市是:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O 然而,从其中一个城市出发的每个城市旅行者最多可以走3步,每个城市都有多个箭头分支到其他城市,因此假设从C出发的旅行者可以到达所有这些城市{'E','G

我有一个关于从Python中查找所有可能路径的问题。我得到了城市和每个城市的道路。路径是:

B:C D F G A M N O
C:E G H
D:F H J N O
F:G M
G:A M
A:K N
L:N
H:I A M
I:K M N
J:K
E:A K O
K:N O
城市是:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O

然而,从其中一个城市出发的每个城市旅行者最多可以走3步,每个城市都有多个箭头分支到其他城市,因此假设从C出发的旅行者可以到达所有这些城市{'E','G','H','A','K','N','O','M','I'


我是这样想的,因为集合只存储相同的值一次,让我们假设城市C有通过E,G,H的路径,这些城市也有通过其他城市的路径,所以集合应该保留C及其组件的所有路径。我知道我需要使用字典、集合和列表,但无法为其构建算法。

您是否在尝试寻找两个城市之间的最小路径

如果是,则查找
为此,您需要构建或

您应该显示您已经尝试过的内容;Stackoverflow不是一种代码服务,您只需询问即可。我们可以帮助您,但不能为您完成这项工作。首先设计或找到一种算法来解决问题,而不必太担心数据结构,然后尝试使用您所使用的编程语言中可用的任何工具来实现它。虽然这篇文章不是最好的,因为它过于关注数据结构,请参阅以获取一些想法。我不是在要求代码或为我做这项工作。我是Python新手,无法解决问题,因此我要求提供可能的提示或方向。不是真的。这是一个带箭头的图形问题,因此每个城市都有多条通往其他城市的路,我必须列出旅行者可以进入的起始城市的所有城市步骤。例如,如果城市A有一条通向B的路,那么B应该在列表中,但B有一条通向C的可能的路(但A没有通向C的直接路),那么C也应该在A的列表中。但最多允许3个步骤。但非常感谢你的帖子对我很有帮助:)我不认为箭头图形是个问题。BFS将为您提供所有距离最远的城市。只需稍微修改BFS代码,例如:如果节点超过3个距离,则断开。您正在尝试查找节点之间的所有路径还是最小路径?