假设我们有一个有向标记图,即从一个顶点到另一个顶点的边用值标记的图。我们如何在 Java 中对此进行建模? (或者一般的面向对象语言?)
我当前的解决方案是开设一个类 Vertex
其中有 Collection<Edge> outgoingEdges
和一个 Collection<Edge> incomingEdges
,其中Edge
是一个具有三个字段的类:
-
label
这是边缘的标签 -
predecessor
这是来源Vertex
-
successor
目的地是Vertex
其他解决方案?
最佳答案
我不会说您需要将传出边缘和传入边缘分开,您只需检查顶点是源还是目标,并有一个实用方法可以为您提供传出和传入。我注意到很多实现代码有向图和无向图不同,确实没有理由这样做。
关于java - Java 中的标记图表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207018/