Che cos'è una matrice bidimensionale?
Un array bidimensionale è un tipo molto comune di struttura di dati e viene utilizzato in un modo o nell'altro da quasi tutti i linguaggi di programmazione del computer. In una tale matrice, gli elementi di dati dello stesso tipo sono disposti in un formato che è generalmente rappresentato come una tabella con righe e colonne. Le tecniche specifiche utilizzate per individuare gli elementi di dati all'interno della memoria variano da lingua a lingua e da caso a caso, ma le varietà più efficienti consentono di utilizzare un semplice calcolo matematico per individuare l'indirizzo di memoria specifico di un determinato elemento dell'array. Gli array sono così comuni che molte lingue includono l'array come tipo di dati di base.
Le matrici sono alcune delle strutture di 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 numero di indici. È pratica comune fare riferimento a un array con un numero di dimensioni pari al numero di elementi di indice necessari per individuare un determinato elemento di dati. In un array monodimensionale, che è essenzialmente un elenco, ogni elemento di dati può essere localizzato facendo riferimento alla sua posizione nell'elenco. Un array bidimensionale utilizza due indici per identificare ciascun 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 numeri interi. In linea di principio, tuttavia, qualsiasi tipo di informazione può essere memorizzata in un array, purché ogni elemento sia uguale. 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 è molto spesso usato per fare esattamente questo.
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 memorizzati in diverse porzioni di memoria, un processo che riduce la velocità con cui è possibile accedere agli elementi.
La varietà più elementare di matrice bidimensionale ha una dimensione fissa e utilizza valori interi per gli indici. Molte lingue consentono di utilizzare solo numeri interi per i valori di indice, anche se spesso è possibile creare tipi di dati personalizzati per evitare questa limitazione, se necessario. Altre varietà di array bidimensionali sono ottimizzate per scopi specifici, come la memorizzazione di array di celle in gran parte vuote o consentire il ridimensionamento dinamico.