Anteprima parziale del testo
Scarica ADT (Abstract Data Type) introduzione e più Dispense in PDF di Informatica solo su Docsity!
ADT — Liste concatenate lineari Prof.ssa Ferrari Fiorenza ABSTRACT DATA TYPES Tipi di dati In un linguaggio di programmazione, si chiama tipo di dato il nome che si attribuisce al dominio di un dato (insieme di valori che esso può assumere) unito alle operazioni elementari su di esso effettuabili. Il tipo di dato int, ad esempio, indica il dominio dei numeri interi sui quali si possono effettuare operazioni aritmetiche elementari. Un tipo di dato può essere: - predefinito (char, string,...) o definito dal programmatore (class, struct, ...), - primitivo (int, char, ...) o derivato (string, class, puntatore, ...). - scalare (char, puntatore,...) o strutturato (string, class, ...) Tipi di dati astratti Un tipo di dato astratto (ADT — Abstract Data Type) è un tipo di dato indipendente dalla sua implementazione in linguaggio di programmazione. E' un modello matematico che descrive un insieme di strutture dati con comportamento simile oppure raggruppa tipo di dato con lo stesso significato. Un ADT è definito da: - un dominio di valori D - un insieme di funzioni F;,...,F, sul dominio D - un insieme di predicati P,....Pm sul dominio D Un ADT gode delle seguenti proprietà: - può definire di fatto un nuovo tipo di dato; - è dotato di una interfaccia, formata dall’insieme delle operazioni su di esso consentite, che rappresenta l’unico strumento di accesso ai dati dell’ADT. La realizzazione di un’interfaccia che opera sull’ADT consente di mascherare i dettagli d’uso e di memorizzazione all’utilizzatore (information hiding). Il programmatore deve prestare molta attenzione alla scelta e alla definizione dell’interfaccia, perché deve garantire contemporaneamente: l’accesso e la modifica dei valori dell’ADT, il corretto funzionamento dell’algoritmo e la stabilità rispetto a modifiche interne. Ogni linguaggio di programmazione offre degli strumenti per implementare un ADT. Strutture dati Un tipo particolare di ADT è la struttura dati astratta che trova implementazione mediante una o più strutture dati concrete (o interne o fisiche). Una struttura dati astratta, o ADT strutturato, è una entità che raggruppa un insieme di dati (eterogenei o omogenei) e descrive come essi vengono organizzati in memoria centrale o di massa. Una struttura dati concreta è l'implementazione di un ADT strutturato tramite tipi di dato derivati e può essere istanziata. L’istanziazione può avvenire sia durante la compilazione del programma (compile-time) sia durante la sua esecuzione (runtime).