图的广度优先搜索BFS
来源:互联网 发布:分众传媒江南春 知乎 编辑:程序博客网 时间:2024/06/05 20:17
public class BFSDemo {public static void main(String[] args) {// TODO Auto-generated method stubchar[] vertices = {'A', 'B', 'C', 'D', 'E'};int[][] edges = {{0, 1, 0, 1, 0},{1, 0, 1, 0, 0},{0, 1, 0, 0, 0},{1, 0, 0, 0, 1},{0, 0, 0, 1, 0}};/*第二组测试数据->输出结果->A B C D E F G H I char[] vertices = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'};int[][] edges = {{0, 1, 1, 1, 1, 0, 0, 0, 0},{1, 0, 0, 0, 0, 1, 0, 0, 0},{1, 0, 0, 0, 0, 0, 0, 0, 0},{1, 0, 0, 0, 0, 0, 1, 0, 0},{1, 0, 0, 0, 0, 0, 0, 0, 0},{0, 1, 0, 0, 0, 0, 0, 1, 0},{0, 0, 0, 1, 0, 0, 0, 0, 1},{0, 0, 0, 0, 0, 1, 0, 0, 0},{0, 0, 0, 0, 0, 0, 1, 0, 0}};*/boolean[] isVisited = new boolean[vertices.length];LinkedList<Integer> queues = new LinkedList<Integer>();queues.offer(0);isVisited[0] = true;System.out.print(vertices[0] + " ");while(!queues.isEmpty()) {int par = queues.poll();for(int i = 0; i < edges[par].length; i++) {if(edges[par][i]==1 && !isVisited[i]) {queues.offer(i);isVisited[i] = true;System.out.print(vertices[i] + " ");}}}System.out.println();}}
输出结果:
A B D C E
0 0
- 图的广度优先搜索(BFS)
- 图的遍历---广度优先搜索(BFS)
- 邻接图的广度优先搜索(BFS)
- 图的广度优先搜索BFS
- BFS-图的广度优先搜索--邻接矩阵
- 广度优先搜索-BFS
- BFS广度优先搜索
- 广度优先搜索 BFS
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- 广度优先搜索(BFS)
- BFS (广度优先搜索)
- BFS广度优先搜索
- 广度优先搜索(BFS)
- bfs 广度优先搜索
- bfs广度优先搜索
- 广度优先搜索bfs
- BFS广度优先搜索
- 输出单链表中倒数第k个结点(Java版)
- 访问者模式
- Tomcat开启https
- 图的深度优先搜索DFS
- LINUX 移植系列(二)
- 图的广度优先搜索BFS
- Maven 编译打包时如何忽略测试用例
- 源码、反码、补码详解
- PB中一些技巧
- Android之旅_相对布局
- Android学习笔记之Menu的ShowAsAction属性的设置
- git 忽略特殊文件
- 解决eclipse下android项目不能自动生成R.java文件
- 阐述根据存储位置不同,变量的分类