Bắt đầu ngayBắt đầu miễn phí

Tìm các node tham gia vào tam giác

NetworkX cung cấp một API để đếm số tam giác mà mỗi node tham gia: nx.triangles(G). Hàm này trả về một dictionary với khóa là node và giá trị là số tam giác. Nhiệm vụ của bạn trong bài này là chỉnh sửa hàm đã định nghĩa trước đó để trích xuất tất cả các node tham gia vào quan hệ tam giác với một node cho trước.

Bài tập này là một phần của khóa học

Nhập môn Phân tích Mạng bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Viết hàm nodes_in_triangle() với hai tham số Gn, dùng để xác định tất cả các node có quan hệ tam giác với node cho trước.
    • Trong vòng lặp for, lặp qua mọi tổ hợp quan hệ tam giác có thể có.
    • Kiểm tra liệu các node n1n2 có cạnh nối giữa chúng hay không. Nếu có, thêm cả hai node vào tập triangle_nodes.
  • Dùng hàm của bạn trong một câu lệnh assert để kiểm tra rằng số node tham gia vào quan hệ tam giác với node 1 của đồ thị T bằng 35.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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(____(____, ____)) == ____
Chỉnh sửa và Chạy Mã