Matriisitietorakenne on menetelmä samanlaisten tietotyyppien tallentamiseksi lineaariseen sekvenssiin. Tämä lineaarinen sekvenssi mahdollistaa erittäin nopean ja tehokkaan pääsyn mihin tahansa taulukon osaan. Jokainen taulukon tieto sijaitsee numeroidussa paikassa Tiettyyn hakemistoon sijoitettua todellista dataa kutsutaan elementiksi. Joukkoja käytetään laajalti useimmissa tietokoneohjelmointikielissä ja ne ovat perusta monille muille tietorakenteille.
Yksi matriisin tietorakenteen ensisijaisista ominaisuuksista on tapa, jolla se tallennetaan muistiin. Useimmissa tapauksissa taulukot tallennetaan lineaarisessa järjestyksessä. Muut tietorakenteet, kuten linkitetyt luettelot, voi tallentaa jokaisen elementin mihin tahansa muistin satunnaispisteeseen hajallaan koko käytettävissä olevan tilan alueelle. Taulukko tallennetaan peräkkäin, joten voidaan suorittaa useita tehokkaita toimintoja hakemiston osoitteen löytämiseksi nopeasti muistista ja hakea sieltä tiedot.
Matriisin tietorakenteen ilmoittamiseen on erilaisia tapoja. Yksinkertaisin muoto on yksiulotteinen taulukko, joka alkaa indeksistä nolla ja voi sisältää niin monta indeksiä kuin tarvitaan. Kaksiulotteisessa taulukossa on kaksi indeksit, kun niihin viitataan, samanlainen kuin leveys ja korkeus, joita käytetään koordinaattien kokoamiseen ruudukkoon. Moniulotteisissa matriiseissa voi olla kolme tai useampia indeksejä taulukkoon. Vaikka taulukkoa käytetään Useamman kuin yhden hakemiston avulla tiedot tallennetaan edelleen lineaarisesti muistiin.
Taulukot eroavat muista tietorakenteista, kuten linkitetyistä luetteloista. Linkitetty luettelo on dynaaminen rakenne, joka voi kasvaa ja kutistua ohjelman ollessa käynnissä. Useimmiten taulukot ovat staattisia eikä niiden kokoa voi muuttaa muutettu suorituksen aikana. Tämä tarkoittaa, että array rajoittaa ajon aikana tallennettavien elementtien määrää. Päinvastoin, array sallii täysin satunnaisen pääsyn sen sisältämiin elementteihin, toisin kuin linkitetty luettelo joka on läpäistävä järjestyksessä päästäkseen elementteihin keskellä ja lopussa.
Matriisin tietorakenteen nopeus tekee siitä täydellisen sopivan käytettäväksi muissa, monimutkaisemmissa tietotyypeissä, kuten hajautustaulukoissa. Elementtien muistiosoitteiden ennustettavuutta voidaan käyttää myös erittäin nopeiden matriisin silmukointialgoritmien toteuttamiseen Tämä on erityisen hyödyllistä lajittelutoiminnoissa, kuten kuplien lajittelussa, jotka sopivat täydellisesti matriisien kanssa käytettäväksi.