JAVA算法:无向图的表示(基础)
图形是由以下两部分组成的数据结构:
- 一组有限的顶点(Vertices),也称为节点(Nodes)。
- 一组有限的有序对形式(u,v)称为边(Edge)。因为在有向图的情况下,(u,v)与(v,u)不同,所以对是有序的。对于(u,v)表示从顶点u到顶点v有一条边。边可能包含权重/值/成本等信息。
如上图所示,表示一个具有5个顶点,7条边的无向图。
图通常经过数据转换后,可以使用下面的数据结构形式来表示:
- 邻接矩阵(Adjacency Matrix)
- 邻接表(Adjacency List)
还有其他的表示,如关联矩阵(Incidence Matrix)和关联表(Incidence List)。图形表示的选择是特定于具体情况的。这完全取决于要执行的操作类型(type of operation)和易用性(ease of use)。
邻接矩阵(