Thuật toán tốt để giải quyết vấn đề này là gì?Thuật toán để đối sánh các đối tác được ưu tiên thành các nhóm ba số
Tôi có ba nhóm người - nhóm A, nhóm B và nhóm C. Có cùng số người trong mỗi nhóm. Họ từng có một danh sách những người trong các nhóm khác mà họ sẵn sàng hợp tác. Tôi muốn nhóm tất cả những người này lại với nhau theo nhóm 3 (một từ A, một từ B và một từ C) sao cho mọi người trong nhóm muốn làm việc với những người khác trong nhóm của họ.
Làm cách nào để tìm các nhóm này một cách nhanh chóng? Nếu không có cách nào để làm cho mọi người hạnh phúc, thì thuật toán đầu tiên sẽ làm cho nhiều nhóm có ba người muốn làm việc với nhau, và sau đó làm cho nhiều người trong các nhóm khác hạnh phúc.
Điểm cuối cùng: mọi người đồng ý về người mà họ muốn làm việc (nếu người x muốn làm việc với người y, thì y cũng muốn làm việc với x). Nếu bạn cũng có thể cung cấp cho một big-O của thời gian chạy của thuật toán của bạn, đó sẽ là tuyệt vời!
Tôi nghĩ bạn nên đổi tên tiêu đề của mình để mô tả vấn đề thực sự của bạn, vì vậy trong các tìm kiếm có liên quan, thứ gì đó thực sự sẽ xuất hiện. – mmcdole