Niz nizov v računalniškem programiranju je podatkovna struktura, ki vsebuje drugo matriko na vsakem indeksu. To pomeni, da je ničelna točka na vsakem zaporednem naslovu v matriki najvišje ravni pravzaprav prvi ničelni element vsakega podmatrika. Vsaka podmatrika je lahko tudi matrika nizov, kar omogoča ugnezdenje nizov tako globoko, kot je potrebno. Čeprav se koncept morda zdi zapleten, dejansko obstajajo zelo preproste deklaracije in oznake dereferenciranja, ki omogočajo, da je niz nizov zelo jasno izražen v programu. Ena najpogostejših uporab matrike nizov je shranjevanje informacij v vzorcu mreže, kot je to lahko v primeru slike.
Niz je niz podatkovnih elementov, ki so v večini programskih jezikov shranjeni na zaporednih pomnilniških mestih. Datum, ki je v matriki, se imenuje element in vsak element zaseda položaj v nizu, znan kot indeks. Začetek matrike je indeks nič, naslednji je indeks ena in tako naprej. Namesto celih števil ali znakov ima niz nizov še en popoln niz v vsakem indeksu. Ti podmarezi pri vsakem indeksu lahko sami vsebujejo matrike, kar zagotavlja možnost ustvarjanja kompleksnih drevesnih struktur podatkov po potrebi.
Ena od pogostih uporab matrike nizov je shranjevanje informacij, ki jih je mogoče indeksirati iz mreže s koordinatami stolpcev in vrstic. To se lahko uporablja za predstavitev podatkov v preglednici, dvodimenzionalni (2D) sliki, ki bo prikazana na zaslonu, ali celo na šahovnici. Nizi matrik, ki so globoki v treh nivojih, kar pomeni matriko, ki vsebuje matrike, ki vsebujejo tretjo raven nizov, se lahko uporabijo za predstavitev informacij v kocki ali pa se uporabljajo za predstavitev matrike informacij, v kateri ima vsaka lokacija več kot eno atribut. Na splošno se matrike matrik, ki so globlje od treh ravni, ne uporabljajo, ker je enako funkcionalnost enostavneje implementirana z uporabo niza struktur ali razredov.
Programski zapis za niz nizov je veliko lažje razvozlati, kot bi lahko pričakovali. Večina programskih jezikov uporablja oklepaje za označevanje indeksa matrike, večdimenzionalni niz pa ni nič drugačen, le da je za indeksiranje podmatrike dodan dodaten niz oklepajev. Na primer, enodimenzionalno matriko bi lahko zapisali kot »matrika[ 2 ]«, da bi označili element na drugi indeksni lokaciji matrike. Niz nizov bi lahko zapisali na podoben način — array[ 2 ][ 1 ] — ki označuje element nič v prvem indeksu drugega niza.