我来自阿根廷,但我认为每个上过数据结构课程的人都知道图表是什么。如果你这样做了,你可能知道什么样的实现是“常见的”或“标准的”。它可以通过 List 或数组来实现。甚至维基百科也这么说。以及 Mark Allen Weiss、Bruno Preiss 和 Luis Joyanes Aguilar。
事情是。从来没有人认为这不是一个好方法吗?最推荐的方式是通过列表。但考虑到顶点之间只能有一条边,我不认为 List 是做到这一点的好接口。我的意思是,如果 Vertex V1 与 Vertex V2 相连,那么只有一条边。
你不认为它会是一个集合而不是一个列表吗?
Class Vertex{
private Set edges;
private Object data;
/** Methods**/
}
只是想知道一些意见,你怎么看?
谢谢!!
编辑: 另外,如果我们认为 Graph 不能有重复的元素,HashSet 将是一个不错的选择,可以最大限度地减少插入中顶点的查找。