我必须制作一个使用图形(数据结构)的应用程序,但我不知道如何表示它们,并询问您是否可以给我一些提示。
我应该创建一个类Vertex和Edge吗?如果是,它们的属性应该是什么?
发布于 2012-03-03 17:51:00
我建议对图使用邻接表。
最简单的方法可能是创建一个Vertex类,其中包含指向相邻顶点的链接的ArrayList<Vertex>列表。这足以表示任何图形,您不需要单独的Edge类。
您可以向vertex类添加您喜欢的任何其他数据属性,但链接列表是您严格需要的全部内容。
请注意,可以有有向边(单向链接)或无向边(相邻顶点相互指向)。
发布于 2012-03-03 17:34:00
你可以用典型的方式来表示它。See here。例如:
[][])List)发布于 2012-03-03 17:33:10
这并不是真正针对Java的。两种最常见的表示是邻接矩阵和列表。详细信息here
如果你想要一个库,JGraphT是不错的选择
https://stackoverflow.com/questions/9544959
复制相似问题