Python可能的路径发现

问题描述:

我有一个关于从python查找所有可能路径的问题。我给出了每个城市的城市和路径。路径是: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及其组件的所有路径。我知道我需要使用字典,集合和列表,但不能为其构建算法。任何人都可以帮助我。在此先感谢:)

+5

您应该显示您已经尝试过的内容; *不是一个代码服务,你只需要问。我们可以帮助你,但不能为你做这份工作。 –

+0

首先设计或找到一种解决问题的算法,而不用担心数据结构太多,然后尝试使用您正在使用的编程语言中提供的任何工具来实现它。尽管它不是最好的文章,因为它太关注数据结构,请参阅[_Search Algorithms_](https://en.wikipedia.org/wiki/Search_algorithm)了解一些想法。 – martineau

+0

我不是要求代码或为我完成工作。我是Python新手,我无法解决问题,所以我要求提供可能的提示或方向。 –

您是否试图找到两个城市之间的最小路径?

如果是,则查找Breadth First Search Algorithm。 为此,您需要构建Adjacency ListAdjacency Matrix

+0

不是真的..它是箭头图问题,以便每个城市有多种方式到其他城市,我必须列出所有城市的旅行者可以在3个步骤中去的起始城市。它就像例如,如果城市A有一个方法到B所以B应该在列表中,但B有一种可能的方式来C(但A没有直接的方式C),那么C也应该在A的列表中。但最多允许3个步骤。但非常感谢你的帖子是有帮助:) –

+1

我不认为如何箭头图是一个问题。 BFS将给你所有距离最远的城市。 U稍微需要修改BFS代码,例如:如果节点超过3个距离,则中断。 你试图找到节点之间的所有路径或最小路径? –