我有这张图
图表中的
和P取值{1,2,3,4,5}
我想在java
提前谢谢
答案 0 :(得分:2)
您还可以使用以下代码段来使用附件列表 -
int n;
List<Integer>[] adj;
AdjacencyLists(int n0) {
n = n0;
adj = (List<Integer>[])new List[n];
for (int i = 0; i < n; i++)
adj[i] = new ArrayStack<Integer>(Integer.class);
}
然后使用函数 -
添加边缘void addEdge(int i, int j) {
adj[i].add(j);
}
或者可以删除边缘 -
void removeEdge(int i, int j) {
Iterator<Integer> it = adj[i].iterator();
while (it.hasNext()) {
if (it.next() == j) {
it.remove();
return;
}
}
}
甚至检查是否存在边缘 -
boolean hasEdge(int i, int j) {
return adj[i].contains(j);
}
您可以在此处找到有关adjacency list的更多详细信息。
或者您可以使用adjacency matrix
希望它会有所帮助 非常感谢
答案 1 :(得分:1)
尝试一个关联矩阵,这是我认为最简单的方法之一。