Xây mạng lưới các chuyên gia

Đi tìm bạn của bạn mình

Hong Linh Dang
Coding For Fun
2 min readJul 16, 2021

--

Trong các bài viết tiếp theo, chúng ta sẽ cùng đưa ra giải pháp gợi ý cho một chuyên gia những người bạn họ có thể biết.

Bạn của bạn mình…

Ý nghĩ đầu tiên trong suy nghĩ của tôi là những người bạn của nhau thường có khả năng cao là quen nhau.

Những người là bạn của Mark Zuckerberg là ba người Bill Gates, Steve Jobs và Jeff Bezos. Do vậy bạn của bạn Mark Zuckerberg sẽ là những người có id là [1, 2, 0, 1, 3, 1, 2, 4], họ là:

  • Bill Gates (id=0, xuất hiện 1 lần vì là bạn của Steve Jobs)
  • Steve Jobs (id=2, xuất hiện 2 lần vì là bạn của Bill Gates và Jeff Bezos)
  • Jeff Bezos (id=3, xuất hiện 1 lần vì là bạn của Steve Jobs)
  • Nguyễn Hà Đông (id=4, xuất hiện 1 lần vì là bạn của Jeff Bezos).
  • Ở đây xuất hiện Mark Zuckerberg (id=1, 3 lần) vì anh ý là người bạn chung của cả 3 người tôi đề cập ở trên.

Loại bỏ những người hiển nhiên là bạn của Mark Zuckerberg…

Chúng ta có thể thấy ở đây Bill Gates, Steve Jobs và Jeff Bezos xuất hiện lại trong tìm kiếm bạn của bạn Mark Zuckerberg là không cần thiết vì họ hiển nhiên đã là bạn của Mark Zuckerberg, và họ cũng biết nhau theo cách nào đó.

Và khi đó friends_of_friends(experts[1]) sẽ là Counter({4: 1}) là Nguyễn Hà Đông. Điều này cũng nói rằng Hà Đông và Mark Zuckerberg có một bạn chung.

Bạn có thể tham khảo mã nguồn ở GitHub.

Bạn có thể tham khảo các bài viết khác trong loạt bài viết về “Xây mạng lưới các chuyên gia”:

Cảm ơn bạn đã đọc!

--

--