1. Insieme dinamico: collezioni di elementi che possono cambiare nel tempo, permettendo operazioni di aggiunta, rimozione e interrogazione di elementi. Le strutture dati successive sono implementazioni concrete di questo concetto.
  2. Array: Array bidimensionali (o multidimensionali), rappresentate come array monodimensionali (per righe o per colonne).
  3. Matrici: Per righe o per colonne. Le matrici possono anche essere rappresentate con più array
  4. Lista concatenata (Struttura dati): Organizzano gli elementi in maniera lineare tramite puntatori tra i nodi, invece che per indici contigui. Ogni nodo contiene dati e puntatori.
  5. Stack (Struttura dati): Un insieme dinamico che implementa lo schema LIFO (Last In – First Out), dove gli elementi vengono inseriti (PUSH) e cancellati (POP) sempre dalla stessa estremità (la “cima”).
  6. Coda: Un insieme dinamico che implementa lo schema FIFO (First In – First Out), dove gli elementi vengono inseriti (ENQUEUE) in una estremità (la “coda”) e cancellati (DEQUEUE) dall’altra (la “testa”).
  7. Hash table: Strutture dati che mappano le chiavi direttamente a posizioni di memoria, superando i limiti delle tabelle ad indirizzamento diretto che richiedono l’intero universo di chiavi. Utilizzano una funzione di hash h(k) per calcolare l’indice.
  8. Albero: Strutture dati gerarchiche composte da nodi collegati. Hanno una radice (nodo senza padre) e ogni nodo può avere un numero arbitrario di figli.
  9. Grafo: