NetworkX per reti complesse
NetworkX è una libreria Python per la creazione, la manipolazione e lo studio della struttura, delle dinamiche e delle funzioni di reti complesse. Viene utilizzato per analizzare e modellare reti complesse, come reti sociali, biologiche e tecnologiche. NetworkX fornisce strumenti per generare reti casuali e sintetiche, nonché per misurare le proprietà strutturali delle reti e analizzare le dinamiche di sistemi complessi che possono essere rappresentati come reti. NetworkX è utilizzato in una varietà di campi, tra cui sociologia, fisica, informatica e biologia, per studiare sistemi complessi e comprendere i modelli e le strutture sottostanti che ne governano il comportamento.
installazione di networkX
pip install networkx
arcs=[(0,43), (0,56), (1,2), (1,6), (2,5), (2,14), (3,4), (3,17),(4,5), (4,16), (5,15),
(5,14), (6,7), (6,14), (7,8), (7,14), (8,9), (8,11), (10,11), (10,24), (11,12),
(11,24), (11,25), (12,13), (12,23), (13,14), (13,22), (14,21), (15,21), (15,18),
(16,17), (16,18), (17,19), (18,20), (19,20), (20,21), (20,35), (20,36), (21,33),
(22,26), (22,27), (23,25), (23,26), (24,25), (25,30), (26,31), (27,32), (27,33)]
import networkx as nx
g = nx.Graph()
g.add_edges_from(arcs)
- Elenchi di bordi: questo è un elenco di tuple, in cui ogni tupla rappresenta un bordo nel grafico con i suoi due nodi finali.
- Elenchi di adiacenza: questa è una semplice rappresentazione di un grafo come un elenco di elenchi, in cui ogni elenco interno rappresenta i vicini di un singolo nodo.
- Strutture dati basate su dizionario: NetworkX può anche gestire grafici rappresentati come dizionari, dove le chiavi sono i nodi ei valori sono i vicini di ogni nodo.
- Elenchi di nodi: questo è un elenco di nodi nel grafico, senza informazioni sui bordi tra di loro.
- Matrici di adiacenza: questa è una matrice bidimensionale in cui le righe e le colonne rappresentano i nodi e le celle rappresentano la presenza o l'assenza di un bordo tra i nodi.
g.size()
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(14,14))
nx.draw(g,with_labels = True, ax = ax, node_size=1500)
g.add_node(99)
g.add_edge(99,0)

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































