Što je dvodimenzionalni niz?

Dvodimenzionalni niz vrlo je čest tip strukture podataka i koristi se u ovom ili onom obliku u gotovo svim računalnim programskim jezicima. U takvom nizu, elementi podataka istog tipa raspoređeni su u format koji se obično prikazuje kao tablica s recima i stupcima. Specifične tehnike koje se koriste za lociranje podatkovnih elemenata unutar memorije razlikuju se od jezika do jezika i od slučaja do slučaja, ali najučinkovitije varijante omogućuju korištenje jednostavnog matematičkog izračuna za lociranje specifične memorijske adrese bilo kojeg elementa polja. Nizovi su toliko česti da mnogi jezici uključuju niz kao osnovni tip podataka.

Nizovi su neke od najčešćih struktura podataka koje koriste računalni programeri. Niz je definiran kao niz elemenata podataka koji se mogu jednoznačno identificirati nekim brojem indeksa. Uobičajena je praksa da se niz naziva kao da ima broj dimenzija jednak broju indeksnih stavki potrebnih za lociranje određenog elementa podataka. U jednodimenzionalnom nizu, koji je u biti popis, svaki element podataka može se locirati upućivanjem na njegovu poziciju na popisu. Dvodimenzionalni niz koristi dva indeksa za identifikaciju svakog elementa podataka i može se vizualizirati kao tablica s recima i stupcima.

Svaki element podataka u standardnom dvodimenzionalnom nizu sastoji se od istog tipa objekta. Elementi niza najčešće su jednostavne varijable, kao što su float ili cijeli brojevi. U principu, međutim, bilo koja vrsta informacija može se pohraniti u niz, sve dok je svaka stavka ista. Dvodimenzionalni niz je prirodan izbor za pohranjivanje svih podataka koji bi se prirodno smjestili u tablicu, a ovaj tip podataka se vrlo često koristi upravo za to.

U idealnom slučaju, cijeli dvodimenzionalni niz može biti smješten unutar jednog kontinuiranog bloka memorije. To omogućuje vrlo brz pristup, budući da se specifična memorijska adresa svakog pojedinog elementa podataka unutar dvodimenzionalnog niza može izračunati matematički, korištenjem formule koja se temelji na veličini potrebnoj za svaku stavku podataka. U praksi to nije uvijek moguće, a nizovi mogu biti pohranjeni u različitim dijelovima memorije, što je proces koji smanjuje brzinu kojom se elementima može pristupiti.

Najosnovnija raznolikost dvodimenzionalnog niza ima fiksnu veličinu i koristi cjelobrojne vrijednosti za indekse. Mnogi jezici dopuštaju korištenje samo cijelih brojeva za vrijednosti indeksa, iako je često moguće izgraditi prilagođene tipove podataka kako bi se izbjeglo ovo ograničenje ako je potrebno. Druge vrste dvodimenzionalnog niza optimizirane su za posebne svrhe, kao što je pohranjivanje nizova uglavnom praznih ćelija ili omogućavanje dinamičke promjene veličine.