蓝桥-图2-广度优先遍历初识
2017-02-06 11:00
260 查看
package com.jkxy.photo; public class WideTraverse { static int e[][]={{0,0,0,0,0,0}, {0,0,1,1,99,1}, {0,1,0,99,1,99}, {0,1,99,0,99,1}, {0,99,1,99,0,99}, {0,1,99,1,99,0}}; static int head,tail,cur,i; static int que[]=new int[100]; static int book[]={0,0,0,0,0,0,0,0,0,0,0}; public static void main(String[] args) { head=1;tail=1; que[tail]=1; tail++; book[1]=1; while(head<tail){ cur=que[head]; for(i=1;i<=5;i++){ if(e[cur][i]==1&&book[i]==0){ que[tail]=i; tail++; book[i]=1; } if(tail>5){ break; } } head++; } for(i=1;i<tail;i++){ System.out.println(que[i]); } } } //1--》1235--》12354 //首先定义图对应的二维数组,初始化空队列, //从顶点1开始,把1加入队列,把1标为已访。 //队列非空,则循环把与当前访问顶点Cur=que[head]编号相连未访过的顶点编号i(循环可能1,2,3,4,5) //加入队列,i标为已访。尾巴大于顶点数,break。对i广挖后把头++。 //最后循环输出队列即可。 //时间充裕的话可以用集合类QUEUE修改一下会更好
相关文章推荐
- 蓝桥-图5-广度优先遍历-转机最少
- 二叉树的广度优先遍历
- 转:二叉树的深度优先遍历和广度优先遍历
- 剑指offer--从上往下打印二叉树--层次遍历、广度优先搜索
- 简要说明树的深度优先、广度优先遍历算法,及非递归实现的特点
- 构建二叉树、二叉树的深度、广度优先遍历
- 多叉树的查找(广度优先遍历)
- 基于堆栈的广度优先搜索树遍历
- 无向图的邻接矩阵,深度优先遍历和广度优先遍历的递归与非递归算法
- 图的深度优先遍历DFS和广度优先遍历BFS
- 图的邻接矩阵存储:深度、广度优先遍历
- 图的广度优先遍历
- (1.2.6.1)图的遍历--深度优先、广度优先
- 图的创建以及深度与广度优先遍历C/C++
- 图的深度优先遍历和广度优先遍历--邻接矩阵法
- 邻接矩阵深度优先和广度优先遍历(DFS和BFS)
- 基于邻接表存储的图的深度优先遍历和广度优先遍历
- 广度优先遍历 之 LeetCode 542. 01 Matrix
- 图的深度优先遍历(DFS)和广度优先遍历(BFS)
- 01 Matrix--广度优先遍历bfs--leetcode