广度优先遍历思路:
还是以之前深度优先遍历的图为例,如下:
A B C D E F G H
A[0, 1, 0, 0, 0, 1, 0, 1]
B[1, 0, 1, 0, 0, 0,..., 1, 0, 0, 0, 1, 0]
F[1, 0, 0, 0, 0, 0, 1, 0]
G[0, 1, 0, 0, 1, 1, 0, 0]
H[1, 0, 0, 1, 0, 0, 0, 0]
所谓广度优先...queue.isEmpty()) {
// 取出队列中的队头元素
currentVertex = queue.remove();...= -1) {
// 如果没被访问过,就访问,并且加到队列中
if (!...findNeighborByPriorNeighbor(currentVertex, neighborVetex);
}
}
}
}
/**
* 广度优先遍历