Üç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ş
Egzersiz talimatları
Gvenolmak üzere iki parametre alan ve verilen bir düğümle üçgen ilişkisi içinde olan tüm düğümleri belirleyen birnodes_in_triangle()fonksiyonu yaz.fordöngüsünde, tüm olası üçgen ilişki kombinasyonlarını yinele.n1ven2düğümleri arasında bir kenar olup olmadığını kontrol et. Varsa, her iki düğümü detriangle_nodeskümesine ekle.
- Fonksiyonunu bir
assertifadesinde kullanarak,Tgrafında1numaralı düğümle üçgen ilişkisi içinde yer alan düğüm sayısının35'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(____(____, ____)) == ____