算法配对两个不相等的列表,有对限制

Algorithm pairing two unequal lists, with pair restrictions

我需要创建一个算法,其中我有两个大小不等的列表,分别称为学生和教师。学生比老师多得多。我需要为每个学生创建一个配对,其中每个教师与大致相同数量的学生相匹配。

复杂的是我有一组不可接受的配对。具体来说,每个学生可能有一位或多位无法配对的老师。

我知道我可以做一个非常有效的贪婪算法,它只是开始任意匹配并跳过不匹配的匹配,因为分配给每个教师的学生数量不一定是准确的。无论如何,我会喜欢一种有效且完整的方法来做到这一点。感谢您提供任何建议!

我会从最有限的匹配开始到更少的限制,这将把无限匹配留在最后,你可以用它们来平衡。