IniziaInizia gratis

Approfondimento - Rete di Twitter

Ora farai un approfondimento su una rete di Twitter, che ti aiuterà a consolidare quanto hai imparato finora. Per prima cosa, individuerai i nodi che possono diffondere messaggi in modo molto efficiente a molte persone a una distanza di un grado.

NetworkX è già stato importato per te come nx.

Questo esercizio fa parte del corso

Introduzione all'analisi delle reti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Scrivi una funzione find_nodes_with_highest_deg_cent(G) che restituisca il/i nodo/i con la degree centrality più alta seguendo questi passaggi:
    • Calcola la degree centrality di G.
    • Calcola la degree centrality massima usando la funzione max() su list(deg_cent.values()).
    • Itera sul dizionario della degree centrality, deg_cent.items().
    • Se il valore di degree centrality v del nodo corrente k è uguale a max_dc, aggiungilo al set di nodi.
  • Usa la tua funzione per trovare il/i nodo/i con la degree centrality più alta in T.
  • Scrivi un'asserzione che verifichi che il/i nodo/i sia/siano identificato/i correttamente. Questo è già stato fatto per te, quindi fai clic su "Invia risposta" per vedere il risultato!

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define find_nodes_with_highest_deg_cent()
def find_nodes_with_highest_deg_cent(G):

    # Compute the degree centrality of G: deg_cent
    deg_cent = ____

    # Compute the maximum degree centrality: max_dc
    max_dc = ____

    nodes = set()

    # Iterate over the degree centrality dictionary
    for k, v in ____:

        # Check if the current value has the maximum degree centrality
        if ____ == ____:

            # Add the current node to the set of nodes
            ____

    return nodes

# Find the node(s) that has the highest degree centrality in T: top_dc
top_dc = ____
print(top_dc)

# Write the assertion statement
for node in top_dc:
    assert nx.degree_centrality(T)[node] == max(nx.degree_centrality(T).values())
Modifica ed esegui il codice