ПочатиПочніть безкоштовно

Обчисліть кількість сусідів для кожного вузла

Як оцінити, чи є вузол важливим? Є кілька підходів. Тут розглянемо один показник: кількість сусідів, які має вузол.

Кожен граф NetworkX G має метод .neighbors(n), що повертає ітератор вузлів — сусідів вузла n. Спочатку скористайтеся цим методом в IPython Shell на твіттер-мережі T, щоб отримати сусідів вузла 1. Це допоможе вам розібратися, як працює функція. Далі у цій вправі вам потрібно написати функцію, яка повертає всі вузли, що мають m сусідів.

Ця вправа є частиною курсу

Вступ до аналізу мереж у Python

Переглянути курс

Інструкції до вправи

  • Напишіть функцію nodes_with_m_nbrs(), яка має два параметри — G і m — та повертає всі вузли, що мають m сусідів. Для цього:
    • Ітеруйтеся всіма вузлами в G (не включаючи метадані).
    • Використайте функції len() і list() разом із методом .neighbors(), щоб обчислити загальну кількість сусідів, які має вузол n у графі G.
      • Якщо кількість сусідів вузла n дорівнює m, додайте n до множини nodes, використовуючи метод .add().
    • Після проходження всіх вузлів у G поверніть множину nodes.
  • Скористайтеся своєю функцією nodes_with_m_nbrs(), щоб отримати всі вузли, які мають 6 сусідів у графі T.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Define nodes_with_m_nbrs()
def ____:
    """
    Returns all nodes in graph G that have m neighbors.
    """
    nodes = set()

    # Iterate over all nodes in G
    for n in ____:

        # Check if the number of neighbors of n matches m
        if ____ == ____:

            # Add the node n to the set
            ____

    # Return the nodes with m neighbors
    return nodes

# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)
Редагувати та запускати код