java - Java中的图形实现

标签 java graph implementation

我正在尝试创建一个 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 - Java中的图形实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10255479/

相关文章:

excel - 如何在 Excel 上创建具有不同值的折线图

c++ - 对二维线对执行操作的最佳方法是什么?

java - 实现 Thrift API 时出错

在图中寻找最小环的算法

java - 如何在 JUnit 4 中运行属于某个类别的所有测试

java - Spring如何处理文件保存

java - 枚举正在尝试通过不存在的公共(public)初始化程序来初始化自身

java - Android 在启动时动态设置菜单项

python - 缩放与邻接矩阵成比例的 NetworkX 节点和边

node.js - Node.js 中的分阶段执行递归循环