Una struttura di dati è un raggruppamento di dati, con una certa organizzazione, che si può considerare come un unico oggetto o come composto dai singoli dati; è possibile accedere ad ogni dato che compone la struttura mediante modalità che dipendono dal tipo di struttura considerato.
Si dice struttura di dati informativa o astratta una struttura definita da un punto di vista logico, descrivendo cioè soltanto le associazioni logiche tra i dati e i metodi per utilizzare la struttura.
Il programmatore sceglie la struttura astratta più adatta a memorizzare le informazioni del problema.
Esempi di strutture di dati astratte sono array, matrici, liste, ecc.
Le caratteristiche principali che differenziano le strutture di dati astratte sono:
-
la possibilità di cambiare o meno dimensione durante l’esecuzione (dinamica o statica);
-
il fatto che i dati siano tutti dello stesso tipo oppure no (omogenea o eterogenea);
-
il fatto che sia possibile accedere direttamente a un elemento, o che sia invece necessario scorrere tutti gli elementi precedenti (accesso diretto o sequenziale).
Si dice struttura di dati concreta la rappresentazione nella memoria del computer di una struttura astratta.
La caratteristica principale che differenzia le strutture di dati concrete è il fatto che i dati siano memorizzati in memoria in locazioni contigue oppure no (sequenziale o no).
Le strutture di dati sono memorizzate nella memoria RAM ed esistono soltanto all’interno del programma che le utilizza; quando il programma termina, i dati inseriti nella struttura non sono più utilizzabili; non è possibile conservare dati in queste strutture, nè usarle per comunicare dati tra un programma e un altro.
Per poter conservare delle informazioni in modo permanente bisogna memorizzarle in file.
I file sono memorizzati su memoria di massa ed esistono indipendentemente dall’esecuzione del programma.