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

Hledání uzlů zapojených do trojúhelníků

NetworkX nabízí API pro počítání trojúhelníků, do kterých je každý uzel zapojen: nx.triangles(G). Vrátí slovník, kde klíče jsou uzly a hodnoty jsou počty trojúhelníků. Tvým úkolem je upravit dříve definovanou funkci tak, aby extrahovala všechny uzly v trojúhelníkovém vztahu s daným uzlem.

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

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

Zobrazit kurz

Pokyny k cvičení

  • Napiš funkci nodes_in_triangle() se dvěma parametry – G a n – která identifikuje všechny uzly v trojúhelníkovém vztahu s daným uzlem.
    • Ve smyčce for iteruj přes všechny možné kombinace trojúhelníkových vztahů.
    • Zkontroluj, jestli mezi uzly n1 a n2 existuje hrana. Pokud ano, přidej oba uzly do množiny triangle_nodes.
  • Použij svou funkci v příkazu assert a ověř, že počet uzlů v trojúhelníkovém vztahu s uzlem 1 grafu T se rovná 35.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

from itertools import combinations

# Write a function that identifies all nodes in a triangle relationship with a given node.
def nodes_in_triangle(G, n):
    """
    Returns the nodes in a graph `G` that are involved in a triangle relationship with the node `n`.
    """
    triangle_nodes = set([n])

    # Iterate over all possible triangle relationship combinations
    for n1, n2 in ____:

        # Check if n1 and n2 have an edge between them
        if ____:

            # Add n1 to triangle_nodes
            ____

            # Add n2 to triangle_nodes
            ____

    return triangle_nodes

# Write the assertion statement
assert len(____(____, ____)) == ____
Upravit a spustit kód