Networkx: wyodrębnij podłączony komponent zawierający dany węzeł (ukierunkowany wykres)
Próbuję wyodrębnić z dużego wykresu subgraf wszystkich połączonych węzłów zawierających konkretny węzeł.
Czy istnieje rozwiązanie w bibliotece Networkx?
[EDYTOWAĆ]
Mój wykres to DiGraph
[EDYTOWAĆ]
Poprawione po prostu:
Chcę, aby część mojego wykresu, która zawiera mój specyficzny węzeł N_i i wszystkie węzły, które są połączone bezpośrednio lub pośrednio (przechodząc przez inne węzły), przy użyciu wszelkich przychodzących lub wychodzących krawędzi.
Przykład:
>>> g = nx.DiGraph()
>>> g.add_path(['A','B','C',])
>>> g.add_path(['X','Y','Z',])
>>> g.edges()
[('A', 'B'), ('B', 'C'), ('Y', 'Z'), ('X', 'Y')]
Moim pożądanym rezultatem będzie:
>>> g2 = getSubGraph(g, 'B')
>>> g2.nodes()
['A', 'B', 'C']
>>> g2.edges()
[('A', 'B'), ('B', 'C')]