从图形邻接列表表示中读取唯一边

时间:2014-01-22 19:16:30

标签: c++ algorithm data-structures adjacency-list

我有一个由邻接列表表示的无向图。我试图从图中读取唯一的边(因为它是无向的,如果0-1被认为是1-0不应该)。现在,我想我会在邻接列表中使用一个字段来表示已经读取了一个边,但即使设置它,我也必须遍历一个顶点列表。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

考虑在unordered_map中存储已遍历的内容,在遍历时填充此内容。你可以让它们成为一对(node1,node2),并且条目是你需要保留的边缘的任何辅助信息,然后在遍历时,查看你是否有(node1,node2)或(node2,node1)在unordered_map中。如果你这样做,边缘即使不是唯一的。