基于邻接矩阵的BFS广度优先搜索
来源:互联网 发布:c语言基本语法 编辑:程序博客网 时间:2024/06/13 05:47
同前面两个小结中说道的一样
直接给出程序
import java.util.ArrayList;import java.util.List;/** * * @author zero * */public class adjMatrixBFS {private List<Integer> visitList = new ArrayList<Integer>();//initial the matrix's value (1 means that two points are connected, 0 means disconnected)private int[][] matrix = {{1,0,1,0,1},{0,1,0,1,0},{1,1,1,0,1},{1,0,0,1,1},{1,0,0,0,0}};//set every point is not visited at start private Boolean[] visitStatus = {false,false,false,false,false};private List<Integer> nextList = new ArrayList<Integer>();public void bfsSerach(int visitNode) {visitStatus[visitNode] = true;visitList.add(visitNode);for(int i=0; i<5; i++) {if((matrix[visitNode][i] == 1 )&&(visitStatus[i]==false)) {visitList.add(i);visitStatus[i] = true;nextList.add(i);}else {}}while(!allVisited()) {int num = nextList.get(nextList.size()-1);nextList.remove(nextList.size()-1);for(int i=0; i<5; i++) {if((matrix[num][i] == 1 )&&(visitStatus[i]==false)) {visitList.add(i);visitStatus[i] = true;nextList.add(i);}else {}}}}public Boolean allVisited() {Boolean result = true; for(int i=0; i<5; i++) {if(visitStatus[i] == false) {result = false;}}return result;}public void outSortResult() {System.out.print("The sorted result is : ");for(int i=0; i<visitList.size(); i++) {System.out.print(visitList.get(i) + " ");}}public static void main(String[] args) {adjMatrixBFS ambfs = new adjMatrixBFS();ambfs.bfsSerach(3);ambfs.outSortResult();}}
输出的结果为:
The sorted result is : 3 0 4 2 1
0 0
- 基于邻接矩阵的BFS广度优先搜索
- 基于邻接矩阵的广度优先搜索遍历 (BFS)
- 基于邻接矩阵的广度优先搜索遍历bfs
- BFS-图的广度优先搜索--邻接矩阵
- 基于邻接矩阵的广度优先搜索遍历
- 基于邻接矩阵的广度优先搜索遍历
- 基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论:基于邻接矩阵/邻接表的广度优先搜索遍历(BFS)
- sdut oj2141 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历(BFS)
- [SDUT](2141)数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历 ---BFS(图)
- 邻接矩阵实现BFS广度优先搜索
- 邻接矩阵的广度优先搜索
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 设计模式--代理模式--学习笔记第二发
- 排序并插入/常见的排序算法
- qemu之差分盘(差异磁盘)
- highstock使用案例(异步请求,懒加载)
- windows环境下lib和dll的区别和联系详细
- 基于邻接矩阵的BFS广度优先搜索
- 2015年金融监管新突破口
- 第三章-魔方4X4
- 数组扩充
- RTP/RTCP/RTSP/SIP/SDP 关系
- Oracle实战二
- 作为编程的人,我感觉自己的综合素质还行吧
- R语言数据分析系列之九 - 逻辑回归
- 实现图片缩放