Mis on massiivi andmestruktuur?

Massiivi andmestruktuur on meetod sarnaste andmetüüpide salvestamiseks lineaarses järjestuses. See lineaarne jada võimaldab väga kiiret ja tõhusat juurdepääsu massiivi mis tahes osale. Iga massiivi andmeosa asub nummerdatud kohas nimetatakse indeksiks Tegelikke andmeid, mis asuvad konkreetses indeksis, nimetatakse elemendiks. Massiivid on laialdaselt kasutusel enamikus arvutiprogrammeerimiskeeltes ja need on paljude muude andmestruktuuride tüüpide aluseks.

Massiivi andmestruktuuri üks peamisi omadusi on viis, kuidas neid mällu salvestatakse. Enamikul juhtudel salvestatakse massiivid lineaarses järjestuses. Muud andmestruktuurid, näiteks lingitud loendid, saab salvestada iga elemendi suvalises mälupunktis, mis on hajutatud üle kogu vaba ruumi. Massiivid salvestatakse järjestikku, nii et indeksi aadressi kiireks mällu leidmiseks saab teha mitmeid tõhusaid toiminguid ja sealt andmed alla laadida.

Massiivi andmestruktuuri deklareerimiseks on erinevaid viise Lihtsaim vorm on ühemõõtmeline massiiv, mis algab indeksist nullist ja millel võib olla nii palju indekseid kui vaja Kahemõõtmelisel massiivil on kaks viidates indeksid, mis on sarnased laiusele ja kõrgusele, mida kasutatakse ruudustiku koordinaatide kokkupanemiseks. Mitmemõõtmelistel massiividel võib massiivis olla kolm või enam indeksit. Kuigi massiivile pääseb juurde rohkem kui ühe indeksi viitega salvestatakse andmed siiski lineaarselt mällu.

Massiivid erinevad teistest andmestruktuuridest, näiteks lingitud loenditest. Lingitud loend on dünaamiline struktuur, mis võib programmi töötamise ajal kasvada ja kahaneda. Enamasti on massiivid staatilised ja nende suurust ei saa täitmise ajal muudetud. See tähendab, et massiiv piirab käitusajal salvestatavate elementide hulka. Vastupidiselt võimaldab massiiv täiesti juhuslikku juurdepääsu selles sisalduvatele elementidele, erinevalt lingitud loendist mida tuleb keskel ja lõpus olevate elementideni jõudmiseks läbida järjest.

Massiivi andmestruktuuri kiirus muudab selle suurepäraselt sobivaks kasutamiseks muudes keerukamates andmetüüpides, näiteks räsitabelites. Elementide mäluaadresside prognoositavust saab kasutada ka väga kiirete massiivi splaissimise algoritmide rakendamiseks See on eriti kasulik sorteerimistoimingute jaoks, nagu mullsorteerimine, mis sobivad ideaalselt massiividega kasutamiseks.