Python networkx 中缺少 DFS 或 BFS?

1 投票
2 回答
2566 浏览
提问于 2025-04-15 20:27

我想在短时间内找到一条路径(不一定是最短的)。但是在networkx中使用Dijkstra和AStar算法的速度太慢了。

为什么networkx里没有深度优先搜索(DFS)或者广度优先搜索(BFS)呢?

我打算自己写一个DFS和BFS的搜索算法(我更倾向于BFS,因为我的图比较深)。在networkx的库里,有什么可以帮助我加快速度的东西吗?

2 个回答

4

现在有深度优先搜索和广度优先搜索的相关内容,可以在这里找到。

这些内容是从Eppstein的代码修改而来的,Eppstein的代码可以在www.ics.uci.edu/~eppstein/PADS找到,这也是查找Python图算法的一个不错的地方。

4

遍历模块有多种深度优先搜索的变体。广度优先搜索已经在连接组件的功能中实现了,也在那个模块里。你可以直接使用这个功能,或者如果你需要一些特别的行为,可以参考这个例子自己重新实现一个。

撰写回答