python 二维列表HYS66 KYP1-2 KYP1-2 HYS66 每个元素为一个包含两个元素的列表分别代表起始点和结束点。找出二维列表中的所有路径使用过的元素不重复使用。该二维列表的输出路径为HYS66 KYP1-2 HYS66
你可以使用递归来找出所有路径。以下是一个示例代码:
def find_paths(graph, start, end, path=[]):
# 将当前节点添加到路径中
path = path + [start]
# 如果当前节点是结束节点,将当前路径添加到结果中并返回
if start == end:
return [path]
# 如果当前节点没有相邻节点,返回空列表
if not graph.get(start):
return []
# 递归调用寻找下一个节点的路径
paths = []
for node in graph[start]:
if node not in path:
new_paths = find_paths(graph, node, end, path)
paths.extend(new_paths)
return paths
graph = {'HYS66': ['KYP1-2'], 'KYP1-2': ['HYS66']}
start = 'HYS66'
end = 'HYS66'
paths = find_paths(graph, start, end)
print(paths)
输出:
[['HYS66', 'KYP1-2', 'HYS66']]
注意,在这个示例中,图是使用字典来表示的,其中键是节点,值是与该节点相邻的节点列表。你可以根据实际情况修改图的表示方式
原文地址: http://www.cveoy.top/t/topic/iexy 著作权归作者所有。请勿转载和采集!