Kom igångKom igång gratis

Hitta noder som ingår i trianglar

NetworkX tillhandahåller ett API för att räkna hur många trianglar varje nod ingår i: nx.triangles(G). Det returnerar en ordbok där noderna är nycklar och antalet trianglar är värden. Din uppgift i den här övningen är att modifiera den tidigare definierade funktionen så att den extraherar alla noder som befinner sig i en triangelrelation med en given nod.

Den här övningen är en del av kursen

Introduktion till nätverksanalys i Python

Visa kurs

Övningsinstruktioner

  • Skriv en funktion nodes_in_triangle() med två parametrar – G och n – som identifierar alla noder i en triangelrelation med en given nod.
    • I for-slingan itererar du över alla möjliga kombinationer av triangelrelationer.
    • Kontrollera om noderna n1 och n2 har en kant mellan sig. Om de har det, lägg till båda noderna i mängden triangle_nodes.
  • Använd din funktion i ett assert-uttryck för att kontrollera att antalet noder i en triangelrelation med nod 1 i grafen T är lika med 35.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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(____(____, ____)) == ____
Redigera och kör kod