Ich habe eine (sehr groß) Liste von Sätzen, Wertepaare enthält, wie:effiziente Art Union der Sätze zur Bestimmung
SetList = [{1,2},{2,3},{4,5},{5,6},{1,7}]
Ich mag effizient die Sätze von Werten bestimmen, die disjunkt wie es sich aus der Transitivität der Beziehungen in den obigen Paaren ergibt. Zum Beispiel ist 1 mit 2 assoziiert, und 2 mit 3 und so sind 1,2,3 assoziiert. Ähnlich ist 1 mit 7 assoziiert, also sind 1,2,3 und 7 assoziiert. Im obigen sind 4, 5 und 6 zugeordnet, aber nicht mit den übrigen Werten. Das Ergebnis sollte wie folgt aussehen:
DisjointSets = [{1,2,3,7},{4,5,6}]
Gibt es einfache und effiziente Möglichkeit, diese Operation auszuführen, die ich vermisse? Vielen Dank!
https://en.wikipedia.org/wiki/Connected_component_(graph_theory)#Algorithms – user2357112
http://networkx.readthedocs.io/ de/stable/reference/algorithm.component.html – user2357112
Links sind hilfreich, aber eine Lösung würde sehr geschätzt werden. – DrTRD