È un’insieme di dati in cui si possono individuare un modo sistematico si organizzazione e un insieme di operatori/operazioni che permettono di manipolarlo. Può essere omogenea o disomogenea rispetto ai tipi dei dati contenuti, statica (dimensione specificata al momento della creazione) o dinamica (dimensione variabile nel tempo).
N.B.: Le operazioni su una struttura dati possono essere di interrogazione (non modificano la struttura dell’insieme, sono la ricerca, il minimo e il massimo) o di manipolazione (modificano la struttura dell’insieme, le principali sono l’inserimento e la rimozione in base all’indice o in base al valore).
Le strutture dati di base sono:
N.B. Per cancellare una struttura dati dalla memoria (RAM), in Python basta cancellare il riferimento (puntatore) alla “testa” (parent) della struttura dati rendendola inaccessibile: a cascata il garbage collector eliminerà in automatico tutto ciò che è inacccessibile.
In Java
In Java una struttura dati è una collezione di oggetti, vengono dette “collezioni notevoli” perché sono già built-in.