I’ve tested a high variety of algorithms that calculates remaining edges in order to complete a graph for any given list of
edges and number of vertices of complete graph
n. They were written in
numpy and other bunch of Python librories but it seems that none of them can’t outperform
igraph.Graph.complementer method in case list of edges covers a complete graph near fully (size of edges is near
def ig_(n, edges: list): #identifies a list of remaining edges: g = ig.Graph() g.add_vertices(range(n)) g.add_edges(edges) c = g.complementer() return sorted(e.tuple for e in c.es if e.source != e.target)
What an idea is hidden behind this
igraph.Graph.complementer method that makes it so fast?