1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích mạng nâng cao với Python

Connected

Bài tập

Các node chung ở partition còn lại

Để hình thành khái niệm về hệ thống gợi ý, chúng ta sẽ bắt đầu từ những điều cơ bản. Trọng tâm ở đây là tính độ tương đồng giữa người dùng trong đồ thị hai phía (bipartite).

Nhiệm vụ của bạn là viết một hàm nhận vào hai node và trả về tập các node repository được chia sẻ giữa hai node người dùng đó.

Bạn sẽ thấy các phương thức và hàm sau hữu ích trong bài này: .neighbors(), set(), và .intersection() — ngoài ra, tất nhiên còn có hàm shared_partition_nodes mà bạn sẽ định nghĩa!

Hướng dẫn

100 XP
  • Viết một hàm tên shared_partition_nodes() nhận 3 đối số — một đồ thị G, node1, và node2 — và trả về tập các node được chia sẻ giữa node1 và node2.
    • Kiểm tra node1 và node2 thuộc cùng một partition bằng câu lệnh assert và từ khóa 'bipartite'.
    • Lấy các láng giềng của node1 và lưu vào nbrs1.
    • Lấy các láng giềng của node2 và lưu vào nbrs2.
  • Tính phần giao giữa nbrs1 và nbrs2 bằng phương thức .intersection() của set.
  • In ra số lượng repository dùng chung giữa hai người dùng 'u7909' và 'u2148' bằng cách dùng hàm shared_partition_nodes() của bạn cùng với hàm len().