Komponenty połączone z Pythonem
Piszę funkcjęget_connected_components
dla klasyGraph
:
<code>def get_connected_components(self): path=[] for i in self.graph.keys(): q=self.graph[i] while q: print(q) v=q.pop(0) if not v in path: path=path+[v] return path </code>
Mój wykres to:
<code>{0: [(0, 1), (0, 2), (0, 3)], 1: [], 2: [(2, 1)], 3: [(3, 4), (3, 5)], \ 4: [(4, 3), (4, 5)], 5: [(5, 3), (5, 4), (5, 7)], 6: [(6, 8)], 7: [], \ 8: [(8, 9)], 9: []} </code>
gdzie klucze są węzłami, a wartości krawędzią. Moja funkcja daje mi ten podłączony komponent:
<code>[(0, 1), (0, 2), (0, 3), (2, 1), (3, 4), (3, 5), (4, 3), (4, 5), (5, 3), \ (5, 4), (5, 7), (6, 8), (8, 9)] </code>
Ale miałbym dwa różne połączone elementy, takie jak:
<code>[[(0, 1), (0, 2), (0, 3), (2, 1), (3, 4), (3, 5), (4, 3), (4, 5), \ (5, 3), (5, 4), (5, 7)],[(6, 8), (8, 9)]] </code>
Nie rozumiem, gdzie popełniłem błąd. Czy ktoś może mi pomóc?