Concetti Chiave

  • Un ADT è un tipo di dato astratto utilizzato per gestire in modo efficiente strutture dati come alberi, grafi, liste e pile.
  • In C, gli ADT non sono definiti da un metodo standard, ma creati tramite la gestione di file separati e header (.h).
  • Le tipologie di ADT includono il quasi ADT, che definisce la struttura dati nell'header, e l'ADT di prima classe, che la nasconde.
  • Il quasi ADT fornisce sia i metodi di gestione che la definizione della struttura, mentre l'ADT di prima classe nasconde la struttura stessa.
  • La creazione di ADT in C permette personalizzazioni efficaci per risolvere vari problemi generici tramite diverse configurazioni.

Un ADT in ambito informatico è un tipo di dato astratto utilizzato per gestire in modo ottimizzato alcune strutture dati utili ed importanti come gli alberi, binari e non, i grafi, le liste, le pile, ma anche particolari configurazioni personalizzazioni di queste strutture utili alla risoluzione di generici problemi.

Implementazione in C

Nel linguaggio di programmazione C non esiste un vero e proprio metodo fornito dal linguaggio per la definizione di queste strutture dati; vengono pertanto create sfruttando la possibilità di usare più file nel codice sorgente, e quindi gestire la struttura di cui si vuole creare l’ADT in un file separato, accessibile dal file principale tramite i metodi e le definizioni presenti nel file header (file di estensione .h).

Quali sono le tipologie di ADT?

E’ possibile definire due diverse tipologie di ADT, il quasi ADT e l’ADT di prima classe; il quasi ADT possiede nell’header oltre ai metodi per la gestione della struttura dati, anche la definizione stessa della struttura dati, nell’ADT di prima classe invece la struttura dati non è definita nell’header corrispondente ma è accessibile solo dai metodi che la gestiscono, nascondendo la loro composizione all’esterno.

Es.

struct list{

int val;

struct list *next;

}

void addnodo(struct list *list);

typedef struct list * listpointer;

void addnodo(listpointer list);

Domande da interrogazione

  1. Che cos'è un ADT e quali strutture dati gestisce?
  2. Un ADT, o tipo di dato astratto, è utilizzato per gestire in modo ottimizzato strutture dati importanti come alberi, grafi, liste e pile, oltre a configurazioni personalizzate per risolvere vari problemi.

  3. Come si implementano gli ADT nel linguaggio C?
  4. In C, gli ADT non hanno un metodo predefinito; vengono creati utilizzando più file nel codice sorgente, gestendo la struttura in un file separato e accedendo ad essa tramite un file header (.h).

  5. Quali sono le due tipologie di ADT e come si differenziano?
  6. Le due tipologie di ADT sono il quasi ADT, che include la definizione della struttura dati nell'header, e l'ADT di prima classe, dove la struttura è nascosta e accessibile solo tramite i metodi che la gestiscono.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community