Qual è la complessità temporale delle permutazioni?

-2

Voglio solo dire che è il tempo O (n) e la complessità spaziale è O (n!), ma non ne sono certo. Qualcuno può confermarlo o dirmi di cosa si tratta?

link

    
posta John 26.11.2016 - 03:51
fonte

1 risposta

4

Nota: non ho effettivamente preso in considerazione il codice in questione, quindi suppongo che questo non sia abbastanza sicuro; questo, tuttavia, riflette come implementerei questo.

L'iterabile fa una copia dell'input e lo ordina. Quindi genera permutazioni come vengono richieste - cioè, non genera tutte le permutazioni, le memorizza, quindi itera su una raccolta. Piuttosto, genera ogni permutazione al volo, come è richiesto.

Come tale, hai praticamente le complessità all'indietro. In qualsiasi momento, c'è solo una copia dell'input, quindi la complessità dello spazio è O (N). Puoi scorrere su N! permutazioni, quindi la complessità temporale per completare l'iterazione è O (N!).

    
risposta data 26.11.2016 - 04:05
fonte

Leggi altre domande sui tag