📜  用于图的广度优先搜索或 BFS 的Java程序

📅  最后修改于: 2022-05-13 01:58:09.257000             🧑  作者: Mango

用于图的广度优先搜索或 BFS 的Java程序

图的广度优先遍历(或搜索)类似于树的广度优先遍历(参见本文的方法 2)。这里唯一的问题是,与树不同,图可能包含循环,因此我们可能会再次来到同一个节点。为了避免多次处理一个节点,我们使用一个布尔访问数组。为简单起见,假设所有顶点都可以从起始顶点到达。
例如,在下图中,我们从顶点 2 开始遍历。当我们到达顶点 0 时,我们寻找它的所有相邻顶点。 2也是0的相邻顶点。如果我们不标记访问过的顶点,那么2将被再次处理,它将成为一个非终止进程。下图的广度优先遍历为 2、0、3、1。