求(有向)图中任意两点间所有路径 1建图: 图类中包括如下信息:顶点集合,邻接矩阵
节点类中包括如下信息:是否被访问过,节点的名称,从这个节点访问到下一个节点的集合 图1 图2 2 算法思路 A 将始点设置为已访问,将其入栈 B 查看栈顶节点V在图中,有没有可以到达、且没有入栈、且没有从这个节点V出发访问过的节点 C 如果有,则将找到的这个节点入栈 D 如果没有,则将节点V访问到下一个节点的集合中每个元素赋值为零,V出栈 E 当栈顶元素为终点时,设置终点没有被访问过,打印栈中元素,弹出栈顶节点 F 重复执行B – E,直到栈中元素为空 Java代码 1
package util; 2
public class Graph { 4
private Vertex vertexList[]; // list of vertices 6
private int adjMat[][]; // adjacency matrix 7
private int nVerts; 9
private static int MAX_VERTS = 7; // n个点 10
int i = 0; 12
int j = 0; 13
public Vertex[] getVertexList() { 15
return vertexList; 16
public int[][] getAdjMat() { 19
return adjMat; 20
public int getN() { 23
return MAX_VERTS; 24
public Graph(int index) { 27
adjMat = new int[MAX_VERTS][MAX_VERTS]; // 邻接矩阵 28
vertex