标签: bidirectional-search

实现双向图搜索

我正在尝试实现双向图搜索.据我所知,我应该以某种方式合并两个广度优先搜索,一个从起始(或根)节点开始,另一个从目标(或结束)节点开始.当广度优先搜索在同一顶点"相遇"时,双向搜索终止.

您能否为我提供代码示例(如果可能,使用Java)或链接代码以进行双向图搜索?

java search artificial-intelligence graph bidirectional-search

6
推荐指数
1
解决办法
5773
查看次数

双向搜索

我正在尝试用 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
查看次数