人坐在圆桌旁有多少种不同的可能方式?
Posted
技术标签:
【中文标题】人坐在圆桌旁有多少种不同的可能方式?【英文标题】:How many different possible ways can persons be seated in a round table? 【发布时间】:2011-11-09 03:59:31 【问题描述】:我正在开发一种算法,并在得出结论之前研究最大迭代次数的可能性。
在现实世界中,它类似于古典圆桌座位问题。你能告诉我n人在圆桌会议上不重复就坐的最大方式吗?
谢谢
【问题讨论】:
【参考方案1】:让我们追溯一下这个问题的解决方案。
首先,让我们看看有多少种方法可以将 n 个人排成一行。我们可以选择将 n 个不同的人排在队伍的最前面。在剩下的 n - 1 人中,其中任何 n - 1 人都可以放在第二位。在剩下的 n - 2 个中,其中任何 n - 2 个都可以放在第三个位置,等等。更一般地,我们得到公式
排列数 = n x (n - 1) x (n - 2) x ... x 1 = n!
所以有 n!将人员排列成一行的不同方式。更一般地说,有 n!对 n 个独特元素重新排序的不同方法。
现在,当我们将人员安排在一个环中时会发生什么?对于每个线性排列,我们可以通过连接两端将该排列转换为环形排列。比如三个人,排成一行的方式有六种:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
这些映射到以下环:
1
1 2 3 -> / \
3---2
1
1 3 2 -> / \
2---3
2
2 1 3 -> / \
3---1
2
2 3 1 -> / \
1---3
3
3 1 2 -> / \
2---1
3
3 2 1 -> / \
1---2
但是,我们不能由此得出 n! 中的座位安排数量!因为我们在这里多次创建了相同的座位安排。作为一个技巧,让我们假设我们总是写出循环,以便 1 位于循环的顶部。然后我们生成了以下循环:
1
1 2 3 -> / \
3---2
1
1 3 2 -> / \
2---3
1
2 1 3 -> / \
2---3
1
2 3 1 -> / \
3---2
1
3 1 2 -> / \
3---2
1
3 2 1 -> / \
2---3
请注意,我们生成了以下内容:
1 1
/ \ x3 / \ x3
2---3 3---2
所以真的,只有两种不同的安排;我们刚刚生成了它们中的每一个。
这样做的原因是,由于环没有明确的起点和终点,我们最终会为每个不同的排列生成多次旋转。特别是,如果有 n 个人需要坐下,我们最终会生成 n 个相同轮换的不同副本,每个不同的客人都在顶部。因此,为了获得客人的总数,对于每个不同的戒指,我们需要忽略除其中一个之外的所有客人。由于每个环有 n 个不同的副本,这意味着总数由下式给出
n! /n = (n - 1)!
所以有 (n - 1) 个!让人们坐成一圈的不同方式。
希望这会有所帮助!
【讨论】:
非常感谢您的解释。我对圆桌和排队的座位有疑问。你对这两个问题的解释都很好。【参考方案2】:经典排列问题:分为两部分: 1) 所有可能的组合 2)除以n作为起始位置的数量(因为它们无关紧要)
我得到 (n-1) 个!可能性。我在这里错过了什么吗? (我不怎么统计,所以有点生疏)
【讨论】:
非常感谢.. 如果我们要排成一排,位置很重要?那么它将是n!对吗? @Kiran 是的,那就是 n!。以上是关于人坐在圆桌旁有多少种不同的可能方式?的主要内容,如果未能解决你的问题,请参考以下文章
活动推广|今日圆桌:赛博人会梦到元宇宙吗?——游戏的X种可能