Calculează numărul de vecini pentru fiecare nod
Cum evaluezi dacă un nod este important sau nu? Există mai multe modalități, iar aici vei analiza o singură metrică: numărul de vecini ai unui nod.
Orice graf NetworkX G expune o metodă .neighbors(n) care returnează un iterator cu nodurile vecine ale nodului n. Pentru început, folosește această metodă în IPython Shell pe rețeaua Twitter T pentru a obține vecinii nodului 1. Astfel te vei familiariza cu modul în care funcționează metoda. Apoi, sarcina ta în acest exercițiu este să scrii o funcție care returnează toate nodurile ce au m vecini.
Acest exercițiu face parte din cursul
Introducere în analiza rețelelor în Python
Instrucțiuni pentru exercițiu
- Scrie o funcție numită
nodes_with_m_nbrs()cu doi parametri –Gșim– care returnează toate nodurile ce aumvecini. Pentru a face asta:- Iterează peste toate nodurile din
G(fără a include metadatele). - Folosește funcțiile
len()șilist()împreună cu metoda.neighbors()pentru a calcula numărul total de vecini ai noduluindin grafulG.- Dacă numărul de vecini ai nodului
neste egal cum, adaugănla setulnodesfolosind metoda.add().
- Dacă numărul de vecini ai nodului
- După ce ai iterat peste toate nodurile din
G, returnează setulnodes.
- Iterează peste toate nodurile din
- Folosește funcția
nodes_with_m_nbrs()pentru a obține toate nodurile care au 6 vecini în grafulT.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Define nodes_with_m_nbrs()
def ____:
"""
Returns all nodes in graph G that have m neighbors.
"""
nodes = set()
# Iterate over all nodes in G
for n in ____:
# Check if the number of neighbors of n matches m
if ____ == ____:
# Add the node n to the set
____
# Return the nodes with m neighbors
return nodes
# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)