for(int v = FirstAdjvex(G,u); v >= 0; v = NextAdjvex(G,u,v)){//寻求下一个邻接点,为了回退时准备 if(!visited[v])DFS(G,v); } } //总函数,可处理非连通图 void DFSTraverse(Graph G) { for(int i = 0; i < G.n; i++){ visited[i] = false; } //考虑到非连通图,才写循...
而A到B之间的路线,显然是稀疏图,果断的选用邻接表。 2.加权有向图最短路径问题,典型的dijkstra最短路径算法。 说干就干,翻翻《数据结构与算法》,自己用Java大概实现了一下,具体代码如下: 实现思路: 1,定义一个类:有向图类:Graph。 有向图类的子类:节点类:Vertex,边类:Vertex。 节点类:保存节点名称,上一...
packagecom.dataStructure.graph;importjava.util.ArrayList;importjava.util.List;/// 稀疏图 - 邻接表//public class SparseGraph {/// private int n; // 节点数// private int m; // 边数// private boolean directed; // 是否为有向图// private List<Integer>[] g; // 图的具体数据/// // ...