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

Підграфи I

Часом потрібно проаналізувати лише підмножину вузлів мережі. Для цього можна скопіювати їх в інший об'єкт графа за допомогою G.subgraph(nodes). Вона повертає новий об'єкт graph (того самого типу, що й початковий граф), який складається з переданого ітерабельного об'єкта nodes.

matplotlib.pyplot уже імпортовано для вас як plt.

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

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

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

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

  • Напишіть функцію get_nodes_and_nbrs(G, nodes_of_interest), яка вилучає підграф із графа G, що складається з nodes_of_interest і їхніх сусідів.
    • У першому циклі for переберіть nodes_of_interest і додайте поточний вузол n до nodes_to_draw.
    • У другому циклі for переберіть сусідів n і додайте всіх сусідів nbr до nodes_to_draw.
  • Використайте функцію, щоб отримати підграф із T, який складається з вузлів 29, 38 і 42 (вони є у заздалегідь визначеному списку nodes_of_interest) та їхніх сусідів. Збережіть результат у T_draw.
  • Виведіть підграф T_draw на екран.

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

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

nodes_of_interest = [29, 38, 42]

# Define get_nodes_and_nbrs()
def get_nodes_and_nbrs(G, nodes_of_interest):
    """
    Returns a subgraph of the graph `G` with only the `nodes_of_interest` and their neighbors.
    """
    nodes_to_draw = []

    # Iterate over the nodes of interest
    for n in ____:

        # Append the nodes of interest to nodes_to_draw
        ____

        # Iterate over all the neighbors of node n
        for nbr in ____:

            # Append the neighbors of n to nodes_to_draw
            ____

    return G.subgraph(nodes_to_draw)

# Extract the subgraph with the nodes of interest: T_draw
T_draw = ____

# Draw the subgraph to the screen
____
plt.show()
Редагувати та запускати код