我有一个有向图,想要迭代图中的所有节点。
那么我可以迭代所有图形的方式是什么?
答案 0 :(得分:2)
在toString()方法中,有一个迭代所有节点的例子:
for (int v = 0; v < V; v++) {
s.append(String.format("%d: ", v));
for (int w : adj[v]) {
s.append(String.format("%d ", w));
}
s.append(NEWLINE);
}
请注意,节点是简单的整数;有graph.V()节点,它们编号为0到graph.V() - 1。 这意味着您可以使用简单的for循环遍历它们,如上所述。
答案 1 :(得分:0)
您正在使用的数据结构将图形存储为内存中的邻接列表。因此,只需将单个节点作为源/起始节点,然后从那里运行任何标准图遍历算法(例如BFS或DFS)以迭代所有节点。