1.图的深度优先遍历:是先遍历第一个邻结点,然后以第一个邻结点为参考系,递归遍历第一个邻节点的邻节点。
2.图的广度优先遍历是先遍历一个节点所有相邻节点,再遍历第一个相邻节点的所有相邻节点,以此类推,需要借助栈来进行操作。
public class Graph {
private ArrayList<String> vertexList;//存储顶点的集合
private int[][] edges;//存储图对应的临接矩阵
private int numsEdges;//边的个数
private boolean[] isVisit;//是否被访问
public static void main(String[] args) {
int n = 5;//图有5个顶点
String[] Vertexs = {"A","B","C","D","E"};//顶点数组
Graph graph = new Graph(n);
for(String vertex:Vertexs){
graph.insertVertex(vertex);//将顶点插入到图中
}
//构建边的关系
// A-B A-C B-C B-D B-E
graph.addEdge(0,1,1);
graph.addEdge(0,2,1);
graph.addEdge(1,2,1);
graph.addEdge(1,3,1);
graph.addEdge(1,4,1);
graph.show();
// System.out.println("深度优先遍历");
// grap