我将 Graph (在我的 Graph 类中)存储为:
Dictionary< Vertex<T>, List<Vertex<T>> _edges
.
我应该如何存储边缘的重量、颜色等属性?(使其可重用,例如WeightedGraphs
等ColoredGraphs
)为了创建通用 Graph 类,我考虑在 Graph 类中添加IGraph
接口(它将包含常见的 Graph 操作,如Traverse
等InsertEdge
)作为属性。
但是我不知道如何处理边缘属性。如果我实现IGraph
接口,因为ColoredGraph
我想拥有带有颜色属性的顶点,IGraph
实现WeightedGraph
我想拥有权重属性等等。我还想听听您将如何将 Graph 实现为邻接列表。
ps:不是学校作业