S.A.D. --> Struttura Astratta Dati
é uno strumento utilie alll'Analista - Programmatore
quando data una o più Informazioni (esempio i Dati di un Problema)
deve definire la forma e le modalità della struttura informatica adatta per
- conservarle in modo temporaneo o permanente
- accedere ad esse in modo diretto o sequenziale
- ricercarle per verificare la presenza - l'assenza
- modificarle
- elaborarle per ottenere da esse nuove informazioni (es. i Risultati del problema)
in maniera corretta, veloce e affidabile.
Condizioni di Scelta
Per poter definire e/o scegliere quale è la Struttura Astratta Dati più corrispondente al nostro problema bisogna fare delle considerazioni :
Bisogna che sia definito il Tipo di Informazioni che devono essere gestite dalla nostra S.A.D.
stesso Tipo --> Vettore , Matrice ecc.
Tipo Diverso --> Record, Tabelle ecc.
Tipi auto funzionali --> Oggetti
Modalità con cui i dati vengono acquisiti e posizionati nella S.A.D.
Usa e getta --> Uno alla volta in Sequenza --> Una Sola Variabile ( se non interessa conservare i valori nel tempo)
Posizione --> Ognuno ha il suo posto assegnato --> il 1° che arriva al 1° posto, il 2° al 2° posto ecc. --> Vettore , Lista
Legame Specifico --> Ognuno deve essere posizionate in base ad una Regola (Posto Ordinato --> vettore, Padre -- Figlio --> Lista ecc.
La Modalità con cui i dati vengono gestiti (Politica di Gestione)
LIFO --> PILA (Ultimo che entra è il Primo ad Uscire)
FIFO --> CODA (Primo che entra è il Primo ad Uscire)
Sequenziale --> Vettore , LISTA
Accesso Diretto --> Vettore, Matrice, Tabella
La Quantità di Dati che devono essere inseriti nella S.A.D.
Se definita --> S.A.D. Statica --> Vettore, Matrice, Tabella
se non conosciuta ---> S.A.D. Dinamica --> Lista
Tempo di conservazione
Provvisorio --> Solo per la Lettura e l'utilizzo immediato (Usa e getta) --> Variabile
Provvisorio Lungo --> Solo per il RunTime del Programma --> S.A.D. in Memoria Centrale
Permanente --> i dati possono essere utilizzati anche dopo che il programma è terminato e alla prossima esecuzione --> S.A.D. in Memoria di Massa --> File , D.B.