Mit Python verbundene Komponenten

Ich schreibe eine Funktionget_connected_components für eine KlasseGraph:

<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>

Mein Diagramm ist:

<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>

Dabei sind die Schlüssel die Knoten und die Werte die Kante. Meine Funktion gibt mir diese verbundene Komponente:

<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>

Aber ich hätte zwei verschiedene verbundene Komponenten, wie:

<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>

Ich verstehe nicht, wo ich den Fehler gemacht habe. Kann mir jemand helfen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage