边集数组是由两个一维数组构成。一个是存储顶点的信息;另一个是存储边的信息。
这个边数组每个数据元素由一条边的起点下标(begin)、终点下标(end)和权(weight)组成。
如上图所示,边集数组关注的是边的集合,在边集数组中要查找一个顶点的度需要扫描整个边数组,效率并不高。
因此它更适合对边依次进行处理的操作,而不适合对顶点相关的操作。
java实现
public class G2 {String[] vertexs;List<Edge> edges;public G2(String[] vertexs, List<Edge> edges) {super();this.vertexs = vertexs;this.edges = edges;}public static void main(String[] args) {String[] vertexs = new String[]{"V0","V1","V2","V3"};Edge edge1 = new Edge(0, 1, 5);Edge edge2 = new Edge(2, 3, 7);Edge edge3 = new Edge(1, 3, 8);Edge edge4 = new Edge(2, 1, 54);List<Edge> edges = new ArrayList<Edge>();edges.add(edge1);edges.add(edge2);edges.add(edge3);edges.add(edge4);G2 g2 = new G2(vertexs, edges);}}class Edge{int begin;//开始下标int end;//结束下标int weight;//权重public Edge(int begin, int end, int weight) {this.begin = begin;this.end = end;this.weight = weight;}}
最简单最没有实现难度的一个了!

