У меня есть множества S1 = {s11, s12, s13), S2 = {s21, s22, s23) и т. Д. До SN.I нужно сгенерировать все перестановки, состоящие из элементов S1, S2..SN .., так что есть только 1 элемент из каждого набора.Перечисления Перестановки набора подмножеств
Для например:
S1 = {a,b,c}
S2 = {d,e,f}
S3 = {g,h,i}
Мой permuations будет:
{a,d,g}, {a,d,h}, {a,d,i}, {a,e,g}, {a,e,h}....
Как бы я идти о делать это? (Я мог бы случайным образом собирать 1 из каждого и объединять их, но это даже, насколько мне известно, плохая идея).
Для общности предположим, что в каждом наборе есть «n» элементов. Я смотрю на его реализацию в C. Обратите внимание, что 'N' и 'n' не фиксированы.
Like декартовой продукции? – GManNickG
Да. Его в основном декартово произведение множеств. – 2009-10-11 08:07:10
Как вы храните их? – GManNickG