java中的图形实现

我正在尝试创建一个使用另一个类的Graph类,Vertex类表示图的所有顶点.我不确定是否需要一个表示两个顶点之间可能连接的Edge类,因为每个顶点都可以跟踪它所连接的其他节点.但我不确定这是否正确.你怎么看?

谢谢.

解决方法:

您不必使用Edge类.您可以使用邻接列表,仍然可以正确表示未加权的图形.对于加权图,您需要一种表示边缘成本的方法,因此使用Edge类是合适的.

class Graph<E> {
    private List<Vertex<E>> vertices;

    private static class Vertex<E> {
        E elem;
        List<Vertex<E>> neighbors;
    }
}
上一篇:java – 我应该关注这个compareTo / equals / hashCode实现吗?


下一篇:《第一行代码》百分比布局出现的问题