Dato un set {1,2,3} output {{}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1 2,3}} Sono stato in grado di trovare la massima velocità di O (2 ^ n), esistono tecniche per ottenere risultati più rapidi (oltre a parallelizzare)
Dato un set {1,2,3} output {{}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1 2,3}} Sono stato in grado di trovare la massima velocità di O (2 ^ n), esistono tecniche per ottenere risultati più rapidi (oltre a parallelizzare)
No.
Dato che ci sono% sottoinsiemi di% co_de per un set con 2^n
elementi in esso, e devi stamparli tutti, il tuo algoritmo DEVE eseguire il passo di stampa n
volte (anche se hai provato a combinare tutte le stampe in uno si dovrebbe comunque "generare" le parentesi graffe di apertura e chiusura 2^n
volte).
In effetti possiamo guardare qualcosa di ancora più basso livello rispetto alla stampa di un intero sottoinsieme e determinare che ogni particolare elemento nel set verrà stampato esattamente 2^n
volte. Esistono sottoinsiemi (2^n)/2
e ogni elemento è esattamente nella metà di essi. Questa operazione è ancora più bassa rispetto alla stampa di un intero set e possiamo vedere che è 2^n
Leggi altre domande sui tag algorithms