我想用X个数据库对象组成对。
如果我有:
A
B
C
D
第一轮可能是:
AB
CD
第二轮可能是:
AD
CB
第三轮可能是:
AC
DB
并且没有其他可能性。
因此对于4个元素,我可以在我必须重复一对之前做3轮。
为任何数量的元素提供帮助的公式是什么?
相关How do I get the total number of unique pairs of a set in the database?
答案 0 :(得分:0)
您可以使用round-robin tournament算法生成所有可能的对。您的示例显示了r-r算法:制作两行元素,修复第一行(A)并以循环方式旋转其他元素。
请注意,N个元素组成N*(N-1)/2
对,生成所有这些元素需要(N-1)
个轮次