在图中循环回到起始点

2024-10-03 02:41:27 发布

您现在位置:Python中文网/ 问答频道 /正文

在解决如何循环回图表中的开始节点时遇到问题。当前,从我创建的图中,我可以从一个开始节点开始循环,沿着边一直循环,直到没有连接的节点。但是,如果可能的话,我无法解决如何使它在开始节点上循环并完成。你知道吗

这是一个带有连接的图的例子。你知道吗

Node & Connection(S) [(0, 4), (1, 5), (1, 8), (3, 1), (4, 0), (4, 3), (5, 0), 
(5, 3), (5, 7), (6, 0), (6, 4), (7, 0), (8, 5), (8, 6), (8, 7)]

这是我的代码循环通过图形,并遵循它的边缘。你知道吗

def pathSearch(graph, start, path=[]):
    path=path+[start]
    for node in graph[start]:
        if not node in path:
            path=pathSearch(graph, node, path)
    return path
print ('Path ', pathSearch(g, 0))

这是从节点0开始的输出:

pathSearch [0, 4, 3, 1, 5, 7, 8, 6]

这是对的,但是为什么它不做一个完整的循环回到起始节点呢?你知道吗


Tags: path代码innode图形节点def图表