Mis on kahemõõtmeline massiiv?

Kahemõõtmeline massiiv on väga levinud andmestruktuuri tüüp ja seda kasutavad ühel või teisel kujul peaaegu kõik arvutiprogrammeerimiskeeled. Sellises massiivis on sama tüüpi andmeelemendid paigutatud vormingusse, mida tavaliselt kujutatakse ridade ja veergudega tabelina. Mälus andmeelementide asukoha leidmiseks kasutatavad spetsiifilised tehnikad on keeleti ja juhtumipõhiselt erinevad, kuid kõige tõhusamad variandid võimaldavad kasutada lihtsat matemaatilist arvutust mis tahes massiivi elemendi konkreetse mäluaadressi leidmiseks. Massiivid on nii levinud, et paljud keeled sisaldavad massiivi põhiandmetüübina.

Massiivid on mõned kõige levinumad andmestruktuurid, mida arvutiprogrammeerijad kasutavad. Massiivi määratletakse kui andmeelementide seeriat, mida saab üheselt tuvastada teatud arvu indeksite abil. Levinud tava on viidata massiivile, mille mõõtmete arv on võrdne konkreetse andmeelemendi asukoha leidmiseks vajalike indeksiüksuste arvuga. Ühemõõtmelises massiivis, mis on sisuliselt loend, saab iga andmeelemendi leida, viidates selle positsioonile loendis. Kahemõõtmeline massiiv kasutab iga andmeelemendi tuvastamiseks kahte indeksit ja seda saab visualiseerida ridade ja veergudega tabelina.

Standardse kahemõõtmelise massiivi iga andmeelement koosneb sama tüüpi objektist. Massiivielemendid on enamasti lihtsad muutujad, näiteks ujukid või täisarvud. Põhimõtteliselt saab aga massiivi salvestada mis tahes tüüpi teavet, kui iga üksus on sama. Kahemõõtmeline massiiv on loomulik valik andmete salvestamiseks, mis loomulikult paigutatakse tabelisse, ja seda andmetüüpi kasutatakse sageli just selleks.

Ideaalis võib terve kahemõõtmeline massiiv asuda ühes pidevas mäluplokis. See võimaldab väga kiiret juurdepääsu, kuna kahemõõtmelise massiivi iga üksiku andmeelemendi konkreetset mäluaadressi saab arvutada matemaatiliselt, kasutades iga andmeüksuse jaoks vajalikul suurusel põhinevat valemit. Praktikas ei ole see alati võimalik ja massiive võidakse salvestada erinevatesse mäluosadesse – protsess, mis vähendab elementidele juurdepääsu kiirust.

Kahemõõtmelise massiivi kõige elementaarsemal valikul on fikseeritud suurus ja see kasutab indeksite jaoks täisarvu. Paljud keeled võimaldavad indeksi väärtuste jaoks kasutada ainult täisarve, kuigi sageli on võimalik luua kohandatud andmetüüpe, et seda piirangut vajadusel vältida. Teised kahemõõtmelise massiivi variandid on optimeeritud konkreetseteks eesmärkideks, näiteks suures osas tühjade lahtrite massiivide salvestamiseks või dünaamilise suuruse muutmise võimaldamiseks.