Kaksiulotteinen matriisi on hyvin yleinen tietorakenne, ja sitä käyttävät tavalla tai toisella lähes kaikki tietokoneohjelmointikielet. Tällaisessa taulukossa samantyyppiset tietoelementit on järjestetty muotoon, joka tyypillisesti kuvataan taulukkona, jossa on rivejä ja sarakkeita. Erityiset tekniikat, joita käytetään tietoelementtien paikantamiseen muistista, vaihtelevat kielestä toiseen ja tapauskohtaisesti, mutta tehokkaimmat lajikkeet mahdollistavat yksinkertaisen matemaattisen laskennan minkä tahansa taulukkoelementin tietyn muistiosoitteen paikantamiseen. Taulukot ovat niin yleisiä, että monet kielet sisältävät taulukon perustiedon tyypiksi.
Taulukot ovat joitakin yleisimpiä tietorakenteita, joita tietokoneohjelmoijat käyttävät. Taulukko määritellään sarjaksi tietoelementtejä, jotka voidaan yksilöidä yksilöllisesti joidenkin indeksien avulla. On yleinen käytäntö viitata taulukkoon, jonka mittojen lukumäärä vastaa tietyn tietoelementin paikantamiseen tarvittavien hakemistokohteiden määrää. Yksidimensionaalisessa taulukossa, joka on olennaisesti luettelo, jokainen tietoelementti voidaan löytää viittaamalla sen sijaintiin luettelossa. Kaksiulotteinen taulukko käyttää kahta indeksiä kunkin tietoelementin tunnistamiseen, ja se voidaan visualisoida taulukkona, jossa on rivejä ja sarakkeita.
Jokainen standardielementin kaksiulotteinen matriisi koostuu samantyyppisestä objektista. Taulukkoelementit ovat useimmiten yksinkertaisia muuttujia, kuten kelluvia tai kokonaislukuja. Periaatteessa mitä tahansa tietoa voidaan kuitenkin tallentaa taulukkoon, kunhan jokainen kohde on sama. Kaksiulotteinen taulukko on luonnollinen valinta sellaisten tietojen tallentamiseen, jotka luonnollisesti sijoitettaisiin taulukkoon, ja tätä tietotyyppiä käytetään usein juuri tähän tarkoitukseen.
Ihannetapauksessa koko kaksiulotteinen ryhmä voidaan sijoittaa yhteen jatkuvaan muistilohkoon. Tämä mahdollistaa erittäin nopean pääsyn, koska kaksiulotteisen taulukon kunkin yksittäisen tietoelementin erityinen muistiosoite voidaan laskea matemaattisesti käyttämällä kaavaa, joka perustuu kunkin tietoalueen tarvittavaan kokoon. Käytännössä tämä ei aina ole mahdollista, ja matriisit voidaan tallentaa muistin eri osiin, mikä vähentää elementtien käytön nopeutta.
Kaksiulotteisen matriisin yksinkertaisimmalla lajikkeella on kiinteä koko ja se käyttää indekseissä kokonaislukuarvoja. Monet kielet sallivat vain kokonaislukujen käytön indeksiarvoissa, vaikka usein on mahdollista rakentaa mukautettuja tietotyyppejä tämän rajoituksen välttämiseksi tarvittaessa. Muut kaksiulotteisen matriisin lajikkeet on optimoitu tiettyihin tarkoituksiin, kuten suurelta osin tyhjien solujen matriisien tallentamiseen tai dynaamisen koon mahdollistamiseen.