Che cosa sono le combinazioni semplici?

  • Combinazioni semplici: le combinazioni semplici permettono di esplorare lo spazio delle soluzioni di k elementi dato un insieme di n elementi distinti (0

    Vi sono esattamente (n|k) (coefficiente binomiale) combinazioni semplici.

    Esempio:

    Esempio di codice per combinazioni semplici

    int comb_s(int pos, int *val, int *sol, int n, int k, int start, int count){

    int i;

    if(pos>=k){

    for(i = 0; i

    printf(“%d ”, sol);

    printf(“\n”);

    return count+1;

    }

    for(i = start; i

    sol[pos] = val;

    count = comb_s(pos+1, val, sol, n, k, i+1, count);

    }

    return count;

    }

  • Combinazioni ripetute

  • Combinazioni ripetute: permettono di esplorare lo spazio delle soluzioni di k elementi dato un insieme di n elementi distinti (0

    Vi sono esattamente (n+k-1)!/(k!x(n-1)!) combinazioni ripetute.

    Esempio:

    Esempio di codice per combinazioni ripetute

    int comb_r(int pos, int *val, int *sol, int n, int k, int start, int count){

    int i;

    if(pos>=k){

    for(i = 0; i

    printf(“%d ”, sol);

    printf(“\n”);

    return count+1;

    }

    for(i = start; i

    sol[pos] = val;

    count = comb_r(pos+1, val, sol, n, k, start, count);

    start++;

    }

    return count;

    }

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community