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 

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

Suhteellinen aikavaatimus 

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 

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.

Muuta 

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.

Tietojenkäsittelytiede