BaşlayınÜcretsiz başlayın

Üçgenlerde yer alan düğümleri bulma

NetworkX, her düğümün içinde yer aldığı üçgen sayısını saymak için bir API sağlar: nx.triangles(G). Bu, anahtarları düğümler, değerleri üçgen sayıları olan bir sözlük döndürür. Bu egzersizdeki görevin, daha önce tanımlanan fonksiyonu değiştirerek, verilen bir düğümle üçgen ilişkisi içinde yer alan tüm düğümleri çıkarmaktır.

Bu egzersiz, kursun bir parçasıdır

Python ile Ağ Analizine Giriş

Kursa Göz Atın

Egzersiz talimatları

  • G ve n olmak üzere iki parametre alan ve verilen bir düğümle üçgen ilişkisi içinde olan tüm düğümleri belirleyen bir nodes_in_triangle() fonksiyonu yaz.
    • for döngüsünde, tüm olası üçgen ilişki kombinasyonlarını yinele.
    • n1 ve n2 düğümleri arasında bir kenar olup olmadığını kontrol et. Varsa, her iki düğümü de triangle_nodes kümesine ekle.
  • Fonksiyonunu bir assert ifadesinde kullanarak, T grafında 1 numaralı düğümle üçgen ilişkisi içinde yer alan düğüm sayısının 35'e eşit olduğunu kontrol et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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(____(____, ____)) == ____
Kodu Düzenle ve Çalıştır