Глибоке занурення — мережа Twitter
Тепер ви докладно розглянете мережу Twitter — це допоможе закріпити попередній матеріал. Спершу знайдете вершини, які можуть дуже ефективно поширювати повідомлення до багатьох користувачів на відстані одного кроку в мережі.
NetworkX уже імпортовано для вас як nx.
Ця вправа є частиною курсу
Вступ до аналізу мереж у Python
Інструкції до вправи
- Напишіть функцію
find_nodes_with_highest_deg_cent(G), яка повертає вершину/вершини з найбільшою ступеневою центральністю, виконавши такі кроки:- Обчисліть ступеневу центральність
G. - Знайдіть максимальну ступеневу центральність за допомогою
max()дляlist(deg_cent.values()). - Ітеруйтеся по словнику ступеневої центральності
deg_cent.items(). - Якщо значення ступеневої центральності
vпоточної вершиниkдорівнюєmax_dc, додайте її до множини вершин.
- Обчисліть ступеневу центральність
- Скористайтеся вашою функцією, щоб знайти вершину/вершини з найбільшою ступеневою центральністю в
T. - Напишіть оператор перевірки (assertion), який засвідчує, що вершину/вершини визначено правильно. Це вже зроблено для вас, тож натисніть "Submit Answer", щоб побачити результат!
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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())