Algorithm 有多少种不同的方式可以让人坐在圆桌里?

Algorithm 有多少种不同的方式可以让人坐在圆桌里?,algorithm,math,combinations,permutation,discrete-mathematics,Algorithm,Math,Combinations,Permutation,Discrete Mathematics,我正在开发一种算法,并在得出结论之前考虑最大迭代次数的可能性 在现实世界中,它类似于经典的圆桌座位问题。您能告诉我n个人不重复坐在圆桌上的最多方式吗 谢谢经典排列问题:将其分为两部分: 1) 所有可能的组合 2) 除以n作为起始位置的数量(因为它们无关紧要) 我得到(n-1)!可能性。我有什么遗漏吗?(我不怎么做统计,所以我有点生疏了)让我们追踪一下这个问题的解决方案 首先,让我们看看有多少种方式可以把n个人排成一行。我们可以选择n个不同的人排在队伍的最前面。在剩下的n-1中,任何n-1都可以放

我正在开发一种算法,并在得出结论之前考虑最大迭代次数的可能性

在现实世界中,它类似于经典的圆桌座位问题。您能告诉我n个人不重复坐在圆桌上的最多方式吗


谢谢

经典排列问题:将其分为两部分: 1) 所有可能的组合 2) 除以n作为起始位置的数量(因为它们无关紧要)


我得到(n-1)!可能性。我有什么遗漏吗?(我不怎么做统计,所以我有点生疏了)

让我们追踪一下这个问题的解决方案

首先,让我们看看有多少种方式可以把n个人排成一行。我们可以选择n个不同的人排在队伍的最前面。在剩下的n-1中,任何n-1都可以放在第二位。在剩下的n-2中,任何n-2都可以放在第三位,等等。更一般地说,我们得到了公式

数量排列=nx(n-1)x(n-2)x。。。x1=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)!让人们坐在拳击场上的不同方式


希望这有帮助

非常感谢。。如果我们排成一排坐着,位置重要的地方呢?那就是n!对吗?@Kiran是的,那就是n!。非常感谢你的解释。我对坐在圆桌和排成一行表示怀疑。你对这两个问题都作了很好的解释。