Kasutaja:Kalmakar/Massiiv (programmeerimine): erinevus redaktsioonide vahel
Eemaldatud sisu Lisatud sisu
Resümee puudub |
Resümee puudub |
||
1. rida:
'''Massiiv''' on [[Programmeerimine|programmeerimises]] [[Andmestruktuur|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 <math>massiivi \ pikkus - 1</math>, 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.<ref>{{netiviide|Autor=Jaanus Pöial|
Massiivi tunnused:
7. rida:
# indeksite arv,
# elementide arv,
# 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 (
== Ajalugu ==
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|ALGOL 60]] toetasid juba mitmemõõtmelisi massiive, sama tegi ka C keel.<ref> Bjoern Andres
== Kasutus ==
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 <math>O(\log n)</math>, kuid massiivi keskmine ajaline keerukus on <math>O(n \log n)</math>, mis sõltuvalt selle massiivi suurusest võib olla väga suur
== Viited ==
|