python 图形工具:添加无重复边的最快方法?

python graph-tool: Fastest way to add edges without duplicates?

在 Python 的 graph-tool 中向有向图中添加无重复边的 fastest/most 高效方法是什么?

天真的解决方案是在添加边之前调用 g.edge(u, v),但这似乎对性能有很大影响,尤其是在无标度网络中。如果设置了 g.set_fast_edge_removal()g.edge(u, v) 是否在 O(1) 中进行查找?我想象任何额外的数据结构 graph-tool 为此分配的都是边缘列表的东西。

在我看来,最好是把所有的边都加起来,然后把平行边去掉。

您可以将边添加为列表:

g = gt.Graph()
edges = [(1, 2), (2, 5), (1, 2)]
g.add_edge_list(edges)
gt.remove_parallel_edges(g)