Questo è l'algoritmo (pseudocodice) che ho adesso per trovare tutti i sottoinsiemi di un determinato insieme con lunghezza k:
void allSubsets(set[]) {
for (i = 0; i<k; i++) {
for (j = i + 1; j<k; j++) {
print(set[i...j]);
}
}
}
Ma il tempo di esecuzione è O (n ^ 2). Qualcuno può migliorare questo?