Cosa è algoritmo sul posto?
-
21-12-2019 - |
Domanda
Supponiamo che voglio rimuovere i duplicati da una stringa.Ho deciso di utilizzare una serie booleana di lunghezza 256 che memorizza se un particolare personaggio è già avvenuto o meno.Posso attraversare la stringa e può rimuovere tutti i duplicati con l'aiuto di questo array booleano ausiliario.
La mia domanda è che "è questo algoritmo è sul posto?"
Penso che stia usando una quantità costante di spazio che non cambierà con la dimensione dell'ingresso dovrebbe essere sul posto.Si prega di correggere se sbaglio.
Soluzione
In posizione Algoritmo significa che stai trasformando i dati di input nei dati di output.Non è possibile recuperare i dati di ingresso indietro dopo aver eseguito l'algoritmo.
Out Place Algorithm significa che conservare i dati di input intatti e utilizzare lo spazio separato per i dati di uscita.
..La mia domanda è che "è questo algoritmo è sul posto?"
L'algoritmo è in posizione finché non esiste un array separato per la memorizzazione dei dati di uscita.Nei dati di input, dopo aver rimosso duplicati, gli elementi rimanenti possono essere vuoti / null.