将Graph实现为地图的地图

时间:2014-06-18 12:50:06

标签: java algorithm data-structures graph hashmap

我在Java中将图形数据结构实现为地图图。

Graph对象是​​数据(键)和所有顶点(值)

的映射
public class GraphAdjMap<T> implements IGraph<T> {

private Map<T, Vertex<T>> vertices = new HashMap<T, Vertex<T>>(); 

每个顶点都是边的映射,其中key是目标顶点,value是边缘对象:

class Vertex<T> {

private T data;
private Map<T, Edge<T>> edges = new HashMap<T, Edge<T>>(); 

Edge是一个简单的值对象:

public class Edge<T> {  
    private T destination;
    private int weight;

通过这种结构,我可以轻松快速地回答很多问题,例如: 是否连接了2条边? 顶点的所有边缘是什么? 这个顶点是否连接到另一个顶点? 一个顶点有多少条边? 等...

这是一个很好的实现还是我错过了什么?

谢谢, 克里斯。

0 个答案:

没有答案