JAVA数据结构与算法之————图(邻接矩阵)
本文将介绍图的存储结构:邻接矩阵的构造,图的深度优先遍历,图的广度优先遍历
图的结构:
public class MGraph {
/*
* 存储图中节点的数组
* */
private String[] vexs;
/*
* 邻接矩阵
* */
private int[][] arc;
/*节点数量和边数*/
private int numVertexes, numEdgs;
/*记录节点是否被访问的数组*/
private boolean[] isVisited;
MGraph(){
/*初始化isVisited*/
isVisited = new boolean[10];
for(int i = 0; i < 10; i++){
isVisited[i] = false;
}
}
MGraph(String[] v, int[][] a, int numV, int numE){
this.vexs = v;
this.arc = a;
this.numVertexes = numV;
this.numEdgs = numE;
isVisited = new boolean[numVertexes];
for(int i = 0; i < isVisited.length; i++){
isVisited[i] = false;
}
}
public String[] getVexs(){
return this.vexs;
}
public int[][] getArc(){
return arc;
}
public int getNumVertexes(){
return this.numVertexes;
}
public int getNumEdgs(){
return this.numEdgs;
}
public void setVexs(String[] v)