Components¶
Importem la biblioteca networxk.
>>> import networkx as nx
Creem un graf buit.
>>> g = nx.Graph()
Hi afegim dos camins.
>>> nx.add_path(g, [1, 2, 4, 3, 1])
>>> nx.add_path(g, [1, 5, 3])
Visualitzem el graf.
>>> import matplotlib.pyplot as plt
>>> nx.draw_networkx(g)
>>> plt.show()
És connex?
>>> nx.is_connected(g)
True
Quants components té?
>>> nx.number_connected_components(g)
1
Quins components té?
>>> for c in nx.connected_components(g):
... print(sorted(c))
[1, 2, 3, 4, 5]
Hi afegim un altre camí.
>>> nx.add_path(g, [6, 7])
Tornem a visualitzar el graf.
>>> nx.draw_networkx(g)
>>> plt.show()
És connex?
>>> nx.is_connected(g)
False
Quants components té?
>>> nx.number_connected_components(g)
2
Quins components té?
>>> for c in sorted(nx.connected_components(g), key=len):
... print(sorted(c))
[6, 7]
[1, 2, 3, 4, 5]
Hi afegim un vèrtex.
>>> g.add_node(8)
Visualitzem el graf un cop més.
>>> nx.draw_networkx(g)
>>> plt.show()
És connex?
>>> nx.is_connected(g)
False
Quants components té?
>>> nx.number_connected_components(g)
3
Quins components té?
>>> for c in sorted(nx.connected_components(g), key=len):
... print(sorted(c))
[8]
[6, 7]
[1, 2, 3, 4, 5]
Quin és el component de 2?
>>> cjt = nx.node_connected_component(g, 2)
>>> cjt
{1, 2, 3, 4, 5}