我必须创建一个使用Graphs(数据结构)的应用程序,但我不知道如何表示它们,并且询问您是否可以给我一些提示。
我应该创建一个Vertex和Edge类吗?如果是,他们的属性应该是什么?
答案 0 :(得分:11)
我建议使用图表的邻接列表。
最简单的方法可能是创建一个Vertex
类,其中包含ArrayList<Vertex>
到相邻顶点的链接列表。这足以代表任何图表,您不需要单独的Edge
类。
您可以向顶点类添加您喜欢的任何其他数据属性,但您只需要链接列表。
请注意,您可以使用有向边(单向链接)或无向边(相邻顶点相互指向)。
答案 1 :(得分:6)
您可以用典型的方式来表示它。 See here。例如:
[][]
)List
)答案 2 :(得分:3)
答案 3 :(得分:0)
这取决于您的使用案例,但您可能想尝试利用像neo4j这样的“图表数据库”