我有设置 S1 = {s11,s12,s13), S2 = {s21,s22,s23) 等等,直到 SN。我需要生成包含 S1,S2..SN.. 元素的所有排列,这样有每个集合中只有 1 个元素。
例如:
S1 = {a,b,c}
S2 = {d,e,f}
S3 = {g,h,i}
我的排列是:
{a,d,g}, {a,d,h}, {a,d,i}, {a,e,g}, {a,e,h}....
我该怎么做呢?(我可以随机地从每个中取出 1 个并将它们合并,但在我看来,这甚至是一个坏主意)。
为了一般性,假设每个集合中有“n”个元素。我正在考虑在 C 中实现它。请注意,'N' 和 'n' 不是固定的。