Quali sono le applicazioni delle strutture di dati?
Diciamo che dovete mantenere un registro di tutti gli studenti di un'università in un tradizionale registro cartaceo. Avete continuato a inserire i registri in cui sono arrivati gli studenti. Ora avete una lista gigantesca di decine di migliaia di record non ordinati. Ora volete eseguire alcune operazioni su questi dati. Vuoi essere in grado di aggiungere nuovi record di studenti, cancellare gli studenti che completano la laurea, modificare alcuni record di studenti in caso di informazioni mancanti, ecc. Vedi, aggiungere lo studente è facile in questa organizzazione di dati. Ma se vuoi cancellare un record, dovrai cercare nell'intero registro, ogni singolo record per trovare il record richiesto. Questo richiederà più o meno lo stesso tempo del numero di record nei registri. In media, dovrete cercare in metà dei registri prima di trovare il record richiesto. Lo stesso sarà il caso se volete modificare un record.
Ora diciamo che ordinate tutti i record per nomi di studenti in ordine alfabetico. Ora se dovete cancellare o modificare un record, o se dovete cercare un record, potete cercarlo molto facilmente. Ma ora, se dovete aggiungere un nuovo record, non potete semplicemente aggiungerlo all'ultimo, perché questo sconvolgerebbe l'ordine alfabetico. Per aggiungere, dovrete prima cercare il posto appropriato e poi dovrete in qualche modo spostare tutti i record dopo il posto dove il nuovo record deve essere inserito, per fare spazio al nuovo record.
In questo modo, vedete come memorizzare i dati usando diverse strutture di dati sulla carta può far sì che alcune operazioni siano eseguite facilmente mentre altre difficili. L'obiettivo delle strutture di dati in informatica è lo stesso. Organizzare i vostri dati in una struttura tale da poter eseguire tutte le operazioni che volete eseguire su di essi, in modo efficiente. Per questo, se non si sceglie una struttura dati adeguata in base alle proprie esigenze, si potrebbe finire per implementare qualcosa che richiede ore per eseguire un'operazione che avrebbe potuto essere eseguita in mii secondi se fosse stata scelta una struttura dati adeguata.
Questo era un esempio davvero fondamentale. Man mano che si ha a che fare con un maggior numero di dati e di operazioni da eseguire su di essi, è necessario implementare strutture di dati complesse per essere in grado di mantenere alta la velocità.
Articoli simili
- Come imparare ad usare le strutture di dati nello sviluppo di applicazioni Android
- Quali strutture di dati e algoritmi di base si dovrebbero imparare prima di iniziare la programmazione competitiva?
- Quali sono gli effetti delle strutture geologiche nell'ambiente?
- Per un buon sviluppatore Android, ho bisogno di imparare anche le strutture dati e gli algoritmi?