Aikavaatimus

Tietojenkäsittelytieteessä aikavaatimuksella tarkoitetaan aikaa, jossa ohjelmiston tai tietojärjestelmän osan tulee tehtävästä suoriutua. Aikavaatimus voi olla luonteeltaan joko absoluuttinen tai suhteellinen.

Absoluuttinen aikavaatimus

[muokkaa | muokkaa wikitekstiä]

Absoluuttinen aikavaatimus tarkoittaa sitä, että ohjelman tulee suoriutua esimerkiksi korttipakan järjestämisestä vähintään 20 millisekunnissa.

Suhteellinen aikavaatimus

[muokkaa | muokkaa wikitekstiä]

Suhteellinen aikavaatimus puolestaan suhteutetaan käsiteltävän tietomäärän, esimerkiksi korttien lukumäärän mukaan. Teoreettisessa tietojenkäsittelyssä aikavaatimuksella tarkoitetaan yleensä juuri suhteellista aikavaatimusta. Suhteellisen aikavaatimuksen merkinnässä käytetään suoritusajalle asymptoottista merkintää, missä muuttujalla "n" merkitään tietojoukon kokoa.

Algoritmien valinta

[muokkaa | muokkaa wikitekstiä]

Erilaiset algoritmit tarjoavat erilaisia suoritustehoja suhteessa niiden käsittelemään tietomäärään. Mitä paremmin algoritmien teoreettinen suoritusaika tunnetaan, sitä paremmin pystytään tehtävään valitsemaan suorituskyvyltään riittävä algoritmi. Esimerkiksi lajittelualgoritmien aikavaatimuksia on tutkittu verrattain paljon niiden suuren merkityksen takia.

Esimerkiksi jos korttipakan lajittelualgoritmin aikavaatimus oli Θ(n log(n)), voimme valita lajittelumenetelmäksi lomituslajittelun.

Aikavaatimus voi olla myös käänteinen, eli järjestelmän tietyn toiminnon tulee kestää vähintään tietyn aikaa. Tämänkaltainen vaatimus on harvinaisempi, mutta näitä vaatimuksia esiintyy mm. tietoliikenneprotokollissa, joissa voidaan vaatia että virhetilanteen jälkeen seuraava lähetys saa tapahtua aikaisintaan N aikayksikön kuluttua.

Muita algoritmien vaatimuksia ovat mm. muistivaatimus ja stabiilisuusvaatimus.

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.