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
Hướng dẫn bài tập
- Viết một hàm tên
nodes_with_m_nbrs()có hai tham số -Gvàm- và trả về tất cả các nút cómhà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()vàlist()cùng với phương thức.neighbors()để tính tổng số hàng xóm mà nútntrong đồ thịGcó.- Nếu số hàng xóm của nút
nbằngm, thêmnvào tậpnodesbằng phương thức.add().
- Nếu số hàng xóm của nút
- Sau khi lặp qua tất cả các nút trong
G, trả về tậpnodes.
- Lặp qua tất cả các nút trong
- 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(____)