Znajdź wszystkie unikalne podzbiory zestawu wartości
Mam problem z algorytmem. Próbuję znaleźć wszystkie unikalne podzbiory wartości z większego zestawu wartości.
Na przykład powiedz, że mam zestaw{1,3,7,9}
. Jakiego algorytmu mogę użyć do znalezienia tych podzbiorów 3?
{1,3,7} {1,3,9} {1,7,9} {3,7,9}
Podzbiory nie powinny się powtarzać, a kolejność jest nieważna, zestaw {1,2,3} jest taki sam jak zestaw {3,2,1} dla tych celów. Zachęca się do Psudokodu (lub zwykłego rodzaju).
Podejście brutalnej siły jest oczywiście możliwe, ale nie pożądane.
Na przykład taka metoda brutalnej siły byłaby następująca.
for i = 0 to size for j = i + 1 to size for k = j + 1 to size subset[] = {set[i],set[j],set[k]}
Niestety wymaga to dodatkowej pętli dla każdego elementu pożądanego w podzbiorze, co jest niepożądane, jeśli na przykład chcesz podzbiór 8 elementów.