我已经读过,BFS算法比DFS更适合于并行实现。我很难理解为什么这应该是正确的直觉。谁能解释?

谢谢

最佳答案

BFS是传播边界的过程。 “传播”是指将所有未访问的相邻顶点插入队列,并且它们可以独立地处理 。

在DFS中,沿着A-> B-> C等方向逐一访问顶点。访问B必须在访问C之前发生。这是一个顺序过程,不能轻易并行化。

但是事实是BFS和DFS都很难并行化,因为所有处理节点都必须知道全局信息。访问全局变量始终需要节点之间的同步和通信。

关于graph - 为什么BFS比DFS更适合并行化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10602392/

10-11 21:31