基于偏好的分组算法
我正在寻找一种方法来按照人们的偏好将人分类。
例如,假设有100名学生将被分配五个班级中的一个:
每个学生有三个首选班,按照优先顺序排列。 最好的办法是分开学生,让尽可能多的人获得他们的第一和第二选择课程,同时确保没有班级的学生太多。
我想通过以下方法来处理它:
虽然我觉得这是一个合理的实现,但我想知道是否有其他算法可以更好地解决这个问题。 我试过了所有的搜索,但是我找不到任何能解决这类问题的东西。
从你的描述来看,这听起来非常像稳定婚姻问题的变化之一
检查Wiki链接,你会看到Gale-Shapley算法的描述,这是一个很好的解决方案。
链接地址: http://www.djcxy.com/p/71321.html上一篇: Algorithm for preference based grouping
下一篇: can a method with return type as list be called from a thread