图的存储结构:
代码实现
public class Graph {// 标记顶点数目private int V;// 标记边数目private int E;// 邻接表private Queue<Integer>[] adj;public Graph(int v) {V = v;this.E = 0;this.adj = new Queue[v];for (int i = 0; i < adj.length; i++) {adj[i] = new Queue<Integer>();}}public int getV(){return V;}public int getE(){return E;}// 将v和w顶点相连public void addEdge(int v, int w){// 无向图中adj[v].enqueue(w);adj[w].enqueue(v);E++;}// 获取v点相连的点public Queue<Integer> adj(int v){return adj[v];}
}