wariacja bez powtorzen na tablicy

Odpowiedz Nowy wątek
2009-03-12 00:48

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

witam,
czy ma ktos moze gotowa implementacje algorytmu wariacji bez powtorzen do tablicy jedno wymiarowej? potrzebuje wypelniac tablice 0 i 1 na wszystkie mozliwe sposoby.

pozdrawiam,
/wk


vc

Pozostało 580 znaków

2009-03-12 09:16
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 rok temu

0

Załóżmy, że tablica ma długość k, zrób pętlę po liczbach z przedziału [0,2k-1] i zapisz każdą liczbę w systemie dwójkowym.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2009-03-12 13:09

Rejestracja: 11 lat temu

Ostatnio: 7 lat temu

0

Taki mały przykład:

public class Permutations {

    public static <T> void perm(T[] a, int n) {
        if (n == 1) {
            System.out.println(Arrays.toString(a));
            return;
        }
        for (int i = 0; i < n; i++) {
            swap(a, i, n - 1);
            perm(a, n - 1);
            swap(a, i, n - 1);
        }
    }

    private static <T> void swap(T[] a, int i, int j) {
        T tmp = a[i];
        a[i] = a[j];
        a[j] = tmp;
    }
}

public class Program {

    public static void main(String[] args) {
        int N = 3;
        Integer[] array = new Integer[] {0, 1, 2};
        Permutations.perm(array, N);
    }
}

Jeśli chcesz mieć tylko 0 i 1, to musisz udoskonalić ten kod, bo będzie generował kilka takich samych kombinacji.


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0