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
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()nalist(deg_cent.values()). - Iteruj přes slovník degree centrality
deg_cent.items(). - Pokud se hodnota degree centrality
vaktuálního uzlukrovnámax_dc, přidej ho do množiny uzlů.
- Vypočítej degree centralitu grafu
- 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())