【发布时间】:2012-03-03 09:29:58
【问题描述】:
我必须制作一个使用图表(数据结构)的应用程序,但我不知道如何表示它们,并询问您是否可以给我一些提示。
我应该创建一个顶点和边缘类吗?如果是,它们的属性应该是什么?
【问题讨论】:
标签: java data-structures graph
我必须制作一个使用图表(数据结构)的应用程序,但我不知道如何表示它们,并询问您是否可以给我一些提示。
我应该创建一个顶点和边缘类吗?如果是,它们的属性应该是什么?
【问题讨论】:
标签: java data-structures graph
我建议对图表使用邻接表。
最简单的方法可能是创建一个Vertex 类,其中包含指向相邻顶点的链接的ArrayList<Vertex> 列表。这足以表示任何图形,您不需要单独的 Edge 类。
您可以将您喜欢的任何其他数据属性添加到顶点类,但您只需要链接列表。
请注意,您可以有有向边(单向链接)或无向边(相邻顶点相互指向)。
【讨论】:
你可以用典型的方式来表示它。 See here。例如:
[][])List)【讨论】:
这取决于您的用例,但您可能想尝试利用像 neo4j 这样的“图形数据库”
【讨论】: