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

Tính số hàng xóm cho mỗi nút

Làm sao để đánh giá một nút có quan trọng hay không? Có vài cách, và ở đây, bạn sẽ xem một chỉ số: số lượng hàng xóm mà một nút có.

Mọi đồ thị NetworkX G đều cung cấp phương thức .neighbors(n) trả về một iterator gồm các nút là hàng xóm của nút n. Trước tiên, hãy dùng phương thức này trong IPython Shell trên mạng Twitter T để lấy các hàng xóm của nút 1. Việc này giúp bạn làm quen với cách hàm hoạt động. Sau đó, nhiệm vụ của bạn trong bài tập này là viết một hàm trả về tất cả các nút có đúng m hàng xóm.

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 một hàm tên nodes_with_m_nbrs() có hai tham số - Gm - và trả về tất cả các nút có m hàng xóm. Để làm điều này:
    • Lặp qua tất cả các nút trong G (không bao gồm metadata).
    • Dùng các hàm len()list() cùng với phương thức .neighbors() để tính tổng số hàng xóm mà nút n trong đồ thị G có.
      • Nếu số hàng xóm của nút n bằng m, thêm n vào tập nodes bằng phương thức .add().
    • Sau khi lặp qua tất cả các nút trong G, trả về tập nodes.
  • Dùng hàm nodes_with_m_nbrs() của bạn để lấy tất cả các nút có 6 hàng xóm trong đồ thị T.

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.

# Define nodes_with_m_nbrs()
def ____:
    """
    Returns all nodes in graph G that have m neighbors.
    """
    nodes = set()

    # Iterate over all nodes in G
    for n in ____:

        # Check if the number of neighbors of n matches m
        if ____ == ____:

            # Add the node n to the set
            ____

    # Return the nodes with m neighbors
    return nodes

# Compute and print all nodes in T that have 6 neighbors
six_nbrs = ____
print(____)
Chỉnh sửa và Chạy Mã