计算由 n 个学生组成的班级为期 w 周的配对的算法

发布于 2024-11-15 12:05:55 字数 364 浏览 2 评论 0原文

我正在寻找一种算法来计算 n 个班级(学生姓名列表)w 周的配对,这样学生就不会在不同的两周内与同一个学生合作。假设 n 是偶数。

示例:

班级:学生 1,2,3,4

周:3

  • 第 1 周的日程安排:(1,2),(3,4)
  • 第 2 周的日程安排:(1,3),(2,4)
  • 周的日程安排3: (2,3), (1,4)

我认为 w 必须小于或等于 n - 1,因为每个学生最多可以与 n - 1 个其他人合作。但我不知道是否总是有n-1个解。如果有的话,我希望看到以非暴力方式生成这些 n - 1 个解决方案的算法。

这个问题有一个名称以及我应该查看的通用算法吗?

I am searching for an algorithm to calculate pairs from a class of n (a list of student names) for w weeks, so that a student never coöperates with the same student in two different weeks. Assume that n is even.

Example:

class: students 1,2,3,4

weeks: 3

  • schedule for week 1: (1,2), (3,4)
  • schedule for week 2: (1,3), (2,4)
  • schedule for week 3: (2,3), (1,4)

I figured that w has to be smaller than or equal to n - 1 because every student can maximally coöperate with n - 1 others. But I don't know if there are always n - 1 solutions. If there are, I would like to see the algoritm that generates these n - 1 solutions in a none-brute force way.

Is there a name for this problem and a common algorithm I should look at?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔嚣张 2024-11-22 12:05:55

听起来它相当于循环赛

Sounds like it is equivalent to a round robin tournament.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文