赞
踩
广度优先遍历顾名思义就是优先搜索横向范围内的数据,直到找到目标节点为止,用于求解最短路径问题。
算法思想:从起点开始,将起点的所有子节点添加进一个队列中(已经遍历过的节点不可重复添加),然后依次类推,将子节点的子节点也加入队列中,当队列为空时或者找到目标节点时算法结束。
如上图,求A到G的最短距离(默认每个边的权值为1),并输出
广度优先遍历的求解步骤:
算法实现:
首先将上图转换为邻接矩阵(1:相连;0:不相连):
JAVA代码实现
static int[][] source;
public static void main(String[] args) {
source = new int[][] {
{
0, 0, 0, 0, 0, 0, 0, 0 },
{
0, 0, 1, 1, 0,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。