我是 Julia 和 LightGraphs 的新手,我一直在努力寻找检测和删除自循环的最有效方法。到目前为止,我找到的唯一方法是遍历 Simplegraph 中的所有节点,检查它是否有自循环,然后将其删除。有没有比在 Python NetworkX 中使用这种组合更好的方法:G.remove_edges_from(G.selfloop_edges())
?
我现在的做法是:
path = adrs\to\my\edgeList
G = SimpleGraph(loadgraph(path, GraphIO.EdgeList.EdgeListFormat()))
for node in vertices(G)
if has_edge(G,node,node)
rem_edge!(G,node,node)
end
end
最佳答案
这可能是有条件地执行此操作的最佳方法,但您可以只调用 rem_edge!(G, node, node)
而无需 has_edge()
检查 - 它会返回一个 bool 值,指示边缘是否已被移除,因此如果那里没有实际边缘,则可以安全使用。
关于julia - 如何删除 Lightgraphs 中的自循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65629641/