Kas yra masyvo duomenų struktūra?

Masyvo duomenų struktūra yra metodas, leidžiantis saugoti panašių tipų duomenis tiesine seka. Ši linijinė seka leidžia labai greitai ir efektyviai pasiekti bet kurią masyvo dalį. Kiekvienas masyvo duomenų fragmentas yra sunumeruotoje padėtyje vadinami indeksu. Tikrieji duomenys, esantys tam tikrame indekse, vadinami elementu. Masyvai plačiai naudojami daugumoje kompiuterių programavimo kalbų ir yra daugelio kitų duomenų struktūrų tipų pagrindas.

Viena iš pagrindinių masyvo duomenų struktūros ypatybių yra jų saugojimo atmintyje būdas. Daugeliu atvejų masyvai saugomi tiesine seka. Kitos duomenų struktūros, pvz., susieti sąrašai, kiekvienas elementas, saugomas bet kuriame atsitiktiniame atminties taške, gali būti išsklaidytas po visą laisvos vietos plotą Masyvas saugomas nuosekliai, todėl galima atlikti daugybę efektyvių operacijų, leidžiančių greitai rasti atmintyje esančio indekso adresą ir ten nuskaityti duomenis.

Yra įvairių būdų deklaruoti masyvo duomenų struktūrą.Paprasčiausia forma yra vienmatis masyvas, kuris prasideda nuo indekso nulio ir gali turėti tiek indeksų, kiek reikia.Dvimatis masyvas turi du indeksai, kai nurodomi, panašūs į plotį ir aukštį, naudojamą koordinatėms tinklelyje surinkti. Daugiamatėse matricose gali būti trys ar daugiau indeksų. Nors masyvas pasiekiamas naudojant daugiau nei vieną indekso nuorodą, duomenys vis tiek saugomi tiesiškai atmintyje.

Masyvai skiriasi nuo kitų duomenų struktūrų, pvz., susietų sąrašų. Susietas sąrašas yra dinamiška struktūra, kuri programai veikiant gali augti ir mažėti. Dažniausiai masyvai yra statiniai ir jų dydis negali būti keičiasi vykdymo metu. Tai reiškia, kad masyvas riboja elementų, kuriuos galima saugoti vykdymo metu, skaičių. Ir atvirkščiai, masyvas leidžia visiškai atsitiktinę prieigą prie jame esančių elementų, kitaip nei susietame sąraše kuriuos reikia pereiti iš eilės, kad būtų pasiekti viduryje ir gale esantys elementai.

Dėl masyvo duomenų struktūros greičio ji puikiai tinka naudoti su kitais sudėtingesniais duomenų tipais, pvz., maišos lentelėmis. Elementų atminties adresų nuspėjamumas taip pat gali būti naudojamas įgyvendinant labai greitus masyvo sujungimo algoritmus. Tai ypač naudinga atliekant rūšiavimo operacijas, pvz., burbulų rūšiavimą, kuris puikiai tinka naudoti su masyvais.