Matriu (programació)
|
|
Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat. |

En informàtica una matriu (en anglès array) és una estructura de dades consistent en un grup d'elements que són accedits per indexació. En la majoria de llenguatges de programació cada element té el mateix tipus de dades i la matriu ocupa una àrea contigua de memòria. La majoria dels llenguatges de programació tenen un tipus de dades matriu ja definit.
Alguns llenguatges de programació suporten programació de matrius (per exemple APL o les versions més noves de Fortran) que generalitza operacions i funcions per a funcionar transparentment en matrius tal com ho fan amb escalars, en comptes d'haver d'iterar sobre els membres de la matriu.
A les matrius multidimensionals s'accedeix fent servir més d'un índex: un per a cada dimensió.
Les matrius poden ser classificades com a matrius de mida fixa (a vegades anomenats matrius estàtiques) la mida dels quals no pot ser canviada un cop s'han emmagatzemat, i matrius dinàmiques, que poden ser redimensionables.
Propietats
[modifica]Les matrius de mida fixa permeten l'accés aleatori amb cost constant. Són estructures de dades compactes, amb un overhead de memòria constant. I, en CPUs que suporten caches, la iteració seqüencial sobre una matriu té una bona localitat d'espacial, ja que els elements ocupen posicions de memòria contínues. Així i tot, quan una matriu és accedit aleatòriament, per exemple al consultar una taula de hash, la localitat espacial es pot perdre.
Aplicacions
[modifica]A causa de les seves característiques de rendiment, les matrius són utilitzats per a implementar altres estructures de dades, com ara heaps, taules de hash, cues, cues doblement acabades, piles, cadenes i vlists.
Alguns algorismes emmagatzemen un nombre variable d'elements en una part d'una matriu de mida fixa, que és equivalent a fer servir una matriu dinàmica amb capacitat fixa.
Les matrius associatives ofereixen un mecanisme per a aconseguir funcionalitats com les de les matrius sense haver de fer servir grans overheads d'emmagatzemament quan els valors de l'índex estan escampats.