Kom igångKom igång gratis

Fördjupning – Twitter-nätverket

Nu ska du fördjupa dig i ett Twitter-nätverk, vilket hjälper dig att befästa det du lärt dig tidigare. Börja med att hitta de noder som kan sprida meddelanden mycket effektivt till många personer med en separation.

NetworkX har importerats åt dig som nx.

Den här övningen är en del av kursen

Introduktion till nätverksanalys i Python

Visa kurs

Övningsinstruktioner

  • Skriv en funktion find_nodes_with_highest_deg_cent(G) som returnerar noden/noderna med högst gradsentralitet enligt följande steg:
    • Beräkna gradsentraliteten för G.
    • Beräkna den maximala gradsentraliteten med funktionen max()list(deg_cent.values()).
    • Iterera över gradsentralitetsordboken deg_cent.items().
    • Om gradsentralitetsvärdet v för den aktuella noden k är lika med max_dc, lägg till den i nodmängden.
  • Använd din funktion för att hitta noden/noderna med högst gradsentralitet i T.
  • Skriv ett assertion-uttryck som verifierar att noden/noderna identifieras korrekt. Det här är redan gjort åt dig, så klicka på 'Skicka in svar' för att se resultatet!

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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())
Redigera och kör kod