Začněte nyníZačněte zdarma

Hlouběji do sítě Twitteru

Teď se podíváme blíže na síť Twitteru – pomůže ti to upevnit to, co sis už osvojil/a. Nejdřív najdeš uzly, které dokážou velmi efektivně šířit zprávy velkému množství lidí vzdálených o jeden stupeň.

NetworkX je předem importováno jako nx.

Toto cvičení je součástí kurzu

Úvod do analýzy sítí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Napiš funkci find_nodes_with_highest_deg_cent(G), která vrátí uzel (nebo uzly) s nejvyšší degree centralitou. Postupuj takto:
    • Vypočítej degree centralitu grafu G.
    • Vypočítej maximální degree centralitu pomocí funkce max() na list(deg_cent.values()).
    • Iteruj přes slovník degree centrality deg_cent.items().
    • Pokud se hodnota degree centrality v aktuálního uzlu k rovná max_dc, přidej ho do množiny uzlů.
  • Pomocí své funkce najdi uzel (nebo uzly) s nejvyšší degree centralitou v grafu T.
  • Napiš příkaz assert, který ověří, že jsi uzel (nebo uzly) správně identifikoval/a. Tento krok je už připravený, takže stačí kliknout na Submit Answer a podívat se na výsledek!

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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())
Upravit a spustit kód