Massiiv (programmeerimine)

Allikas: Vikipeedia
Jump to navigation Jump to search

Massiiv on programmeerimises andmestruktuur, mis koosneb elementide hulgast, mis omakorda omavad igaüks oma massiiviindeksit (järjekorranumbrit) või võtit. Elementide indeksid üldjuhul algavad nullist ehk viimase massiiviliikme indeks on , kuid siiski on ka keeli, mis lubavad alustada massiivi indeksiga 1 või hoopis indeksiga n. Kui keel lubab alustada massiivi suvalise indeksiga, siis tavaliselt võib selleks olla ka negatiivne arv. Massiivis on andmed hoitud nii, et iga elemendi asukohta on võimalik välja arvutada tema indeksi abil kasutades valemit. Massiivil võib olla indekseid rohkem kui üks – nii saadakse mitmemõõtmelised massiivid. Mitmemõõtmeline massiiv on massiiv, mille elementideks on omakorda massiivid. Ühemõõtmelist massiivi nimetatakse ka järjendiks, kahemõõtmelist maatriksiks või tabeliks. Kõik need massiivid võivad olla kas staatilised või dünaamilised. Staatiline on massiiv siis, kui tema mõõtmed on teada algusest peale ning hiljem ei saa neid muuta, kuid dünaamilise massiivi mõõtmeid on võimalik muuta käivitamisel. Massiivi üks suurimaid eeliseid on see, et nende elementidele saab suvaliselt ligi, tänu sellele on elementide võtmine indeksi alusel palju kiirem. Tavaliselt nimetatakse massiivis hoitavate tähetede kogumit sõneks.[1]

Massiivi tunnused:

  1. nimi,
  2. elementide tüüp,
  3. indeksite arv,
  4. elementide arv,
  5. elementide väärtused.

Massiivid on ühed vanimad andmestruktuurid programmeerimises ja need leiavad kasutust peaaegu igas programmis. Neid kasutatakse paljude teiste struktuuride implementeerimiseks (näiteks loend (ingl list) ja sõne (ingl string)). Massiivid kasutavad väga hästi ära arvutite adresseerimisloogikat, nimelt uuemates arvutites ja välistel hoiuseadmetel on mälu ühemõõtmeline massiiv sõnu. Protsessorid on tihti optimiseeritud massiivide jaoks. Iga massiivi elemendi mäluaadressi saab lihtsasti arvutada selle indeksi kaudu. Näiteks massiivis, mis asub mäluaadressil 2000, on element indeksiga aadressil .[2]

Ajalugu[muuda | muuda lähteteksti]

Esimesed arvutid kasutasid masinkeelt, et massiive luua ja neile ligi pääseda. John von Neumann kirjutas esimese sorteerimismeetodi massiividele (mestimissortimine) 1945. aastal. Masinkeeled ei toetanud üldjuhul enam massiive kui masin ise seda tegi, kuid esimesed programmeerimiskeeled nagu FORTRAN, Lisp, COBOL ja ALGOL 60 toetasid juba mitmemõõtmelisi massiive, sama tegi ka C keel.[3]

Kasutus[muuda | muuda lähteteksti]

Massiive kasutatakse näiteks selleks, et implementeerida vektoreid ja maatrikseid. Mitmed andmebaasid, väiksed ja suured, koosnevad (või neis on) ühemõõtmelisest massiivist, mille elemendid on soovitud andmed. Massiive kasutatakse ka teiste andmestruktuuride implementeerimiseks nagu loend, kuhi, paisktabel ja sõne. Massiivipõhine struktuuride rakendamine on tihti kerge ja ruumi kokkuhoidev, kuid sellel on kehv keerukus võrreldes näiteks puupõhiste struktuuridega, eriti kui seda on muudetud (näiteks kui võrrelda massiiviga sorteerimist ja otsingupuud, siis puu struktuur on kiiruselt palju kiirem: puu keskmine ajaline keerukus on umbes , kuid massiivi keskmine ajaline keerukus on , mis sõltuvalt selle massiivi suurusest võib olla väga suur erinevus).[4]

Viited[muuda | muuda lähteteksti]

  1. Jaanus Pöial. "Meetod (alamprogramm)". Kasutatud 06.12.2018. Eesti.
  2. Alex Chumbley, Thaddeus Abiy ja Krishna Ar. "Array (Data Structure)". Kasutatud 06.12.2018. Inglise.
  3. Bjoern Andres, Ullrich Koethe, Thorben Kroeger, Fred Hamprecht (2010). "Runtime-Flexible Multi-dimensional Arrays and Views for C++98 and C++0x".
  4. Jonathan Hartley. "TimeComplexity". 05.06.2017. Kasutatud 06.12.2018. Inglise.