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

Výpočet počtu sousedů pro každý uzel

Jak poznat, jestli je daný uzel v síti důležitý? Existuje několik způsobů, jak to posoudit — tady se podíváme na jednu konkrétní metriku: počet sousedů uzlu.

Každý graf NetworkX G nabízí metodu .neighbors(n), která vrátí iterátor sousedních uzlů daného uzlu n. Nejprve si tuto metodu vyzkoušej v IPython Shellu na twitterové síti T — zjisti sousedy uzlu 1. Pomůže ti to pochopit, jak funkce funguje. Tvým úkolem v tomto cvičení je pak napsat funkci, která vrátí všechny uzly mající právě m sousedů.

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

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

Zobrazit kurz

Pokyny k cvičení

  • Napiš funkci nodes_with_m_nbrs() se dvěma parametry — G a m — která vrátí všechny uzly s m sousedy. Postupuj takto:
    • Projdi všechny uzly grafu G (bez metadat).
    • Pomocí funkcí len() a list() spolu s metodou .neighbors() vypočítej celkový počet sousedů uzlu n v grafu G.
      • Pokud se počet sousedů uzlu n rovná m, přidej n do množiny nodes metodou .add().
    • Po projití všech uzlů grafu G vrať množinu nodes.
  • Pomocí funkce nodes_with_m_nbrs() získej všechny uzly, které mají v grafu T právě 6 sousedů.

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