小编AAT*_*AAT的帖子

双向搜索

我正在尝试用 python 实现双向搜索。

据我了解,我应该以某种方式合并两个广度优先搜索,一个从起始(或根)节点开始,一个从目标(或结束)节点开始。当两个广度优先搜索在同一顶点“相遇”时,双向搜索终止。我已经实现了BFS,代码如下

def bfs(graph, start):
    path = []
    queue = [start]
    while queue:
        vertex = queue.pop(0)
        if vertex not in path:
            path.append(vertex)
            queue.extend(graph[vertex])
    return path
Run Code Online (Sandbox Code Playgroud)

您能为我提供一个代码示例(Python 语言)或双向图搜索代码的链接吗?

python breadth-first-search python-3.x bidirectional-search

3
推荐指数
1
解决办法
6190
查看次数