如何迭代图中的所有节点?

时间:2014-04-03 19:15:04

标签: java graph directed-graph

我有一个有向图,想要迭代图中的所有节点。

那么我可以迭代所有图形的方式是什么?

2 个答案:

答案 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)以迭代所有节点。