转载:https://blog.csdn.net/rr123rrr/article/details/

1.初始状态,从顶点1开始,队列={1}

2.访问1的邻接顶点,1出队变黑,2,3入队,队列={2,3,}

3.访问2的邻接顶点,2出队,4入队,队列={3,4}

4.访问3的邻接顶点,3出队,队列={4}

5.访问4的邻接顶点,4出队,队列={ 空}
分析:
上面图可以用如下邻接矩阵来表示:
import java.util.LinkedList;
import classEnhance.EnhanceModual;
public class BreadthFirst extends EnhanceModual {
bfs(maze, 5);//从顶点5开始搜索图
int nodeNum = adjacentArr.length;
LinkedList
queue = new LinkedList
();
queue.offer(start);
int path = 0;
int[] nodePath = new int[nodeNum + 1];
for (int i = 0; i < nodePath.length; i++) {
nodePath[i] = nodeNum;
}
nodePath[start] = 0;

public class DepthFirst extends EnhanceModual {
dfs(maze, 1);
}
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215803.html原文链接:https://javaforall.net
