1. Top-down method
代码实现:BFS自顶向下(Top-down method) & 自底向上(Bottom-up method)
Top-down方法是传统的层同步BFS算法。主要步骤为:
1、扫描当前层的所有顶点;
2、检索其所有的邻居顶点;
3、添加未访问的邻居顶点到下一层。
但遇到的问题是:
1、冗余的边检索;
2、更新冲突。
2. Bottom-up method
Bottom-up 方法可解决top-down所遇到的问题。主要步骤为:
1、扫描未访问的顶点;
2、检索其邻居顶点是否在当前层,若有,则中止并检索下一顶点;
3、将该顶点添加到下一层中
[参考]:众核BFS并行优化
深入浅出BFS(2)