Un array bidimensionale è un tipo molto comune di struttura dati e viene utilizzato in una forma o nell’altra da quasi tutti i linguaggi di programmazione per computer. In tale array, gli elementi di dati dello stesso tipo sono disposti in un formato che è tipicamente rappresentato come una tabella con righe e colonne. Le tecniche specifiche utilizzate per individuare gli elementi dei dati all’interno della memoria variano da lingua a lingua e da caso a caso, ma le varietà più efficienti consentono di utilizzare semplici calcoli matematici per individuare l’indirizzo di memoria specifico di un dato elemento dell’array. Gli array sono così comuni che molti linguaggi includono l’array come tipo di dati di base.
Gli array sono alcune delle strutture dati più comuni utilizzate dai programmatori di computer. Un array è definito come una serie di elementi di dati che possono essere identificati in modo univoco da un certo numero di indici. È pratica comune riferirsi a un array come avente un numero di dimensioni pari al numero di elementi dell’indice necessari per individuare un particolare elemento di dati. In un array unidimensionale, che è essenzialmente un elenco, ogni elemento di dati può essere individuato facendo riferimento alla sua posizione nell’elenco. Un array bidimensionale utilizza due indici per identificare ogni elemento di dati e può essere visualizzato come una tabella con righe e colonne.
Ogni elemento di dati in un array bidimensionale standard è costituito dallo stesso tipo di oggetto. Gli elementi dell’array sono spesso variabili semplici, come float o interi. In linea di principio, tuttavia, qualsiasi tipo di informazione può essere memorizzata in un array, purché ogni elemento sia lo stesso. Un array bidimensionale è una scelta naturale per l’archiviazione di tutti i dati che verrebbero naturalmente inseriti in una tabella e questo tipo di dati viene spesso utilizzato proprio per questo scopo.
Idealmente, un intero array bidimensionale può essere posizionato all’interno di un singolo blocco continuo di memoria. Ciò consente un accesso molto rapido, poiché l’indirizzo di memoria specifico di ogni singolo elemento di dati all’interno di un array bidimensionale può essere calcolato matematicamente, utilizzando una formula basata sulla dimensione necessaria per ciascun elemento di dati. In pratica, ciò non è sempre possibile e gli array possono essere archiviati in diverse porzioni di memoria, un processo che riduce la velocità con cui è possibile accedere agli elementi.
La varietà più elementare di array bidimensionali ha una dimensione fissa e utilizza valori interi per gli indici. Molti linguaggi consentono di utilizzare solo numeri interi per i valori di indice, sebbene sia spesso possibile creare tipi di dati personalizzati per evitare questa limitazione, se necessario. Altre varietà di array bidimensionali sono ottimizzati per scopi specifici, come la memorizzazione di array di celle in gran parte vuote o l’abilitazione del ridimensionamento dinamico.