Aikavaativuusluokka

testwikistä
Versio hetkellä 16. tammikuuta 2022 kello 13.55 – tehnyt imported>Unkka T. Kumiankka (Lisätty linkkejä)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Aikavaativuusluokka on tietojenkäsittelytieteen käsite, joka kuvaa funktion tai algoritmin ajallista käyttäytymistä, usein syötteen koon n funktiona. Erityisesti vakiotermit ja -kertoimet jätetään näistä pois, jolloin luokasta näkee nopeasti, kuinka nopeasti aikavaatimukset kasvavat suhteessa syötteen kokoon.

Määritelmä

Olkoon funktio f(n) tarkasteltava aikavaativuusluokka. Jos funktio g(n) kuvaa tarkasteltavan funktion aikakäyttäytymistä, niin silloin on olemassa jotkin positiiviset vakiot a, b ja n0 siten, että

af(n)g(n)bf(n)

aina, kun n>n0.

Esimerkkejä

Algoritmi Aikavaativuusluokka
Useimpien lajitteluongelmien optimaalinen ratkaisu nlog(n)
Puolitushaku, etsintä sopivasta puurakenteesta log(n)
Kauppamatkustajan ongelma, optimaalinen ratkaisu cn
Kauppamatkustajan ongelman optimaalinen ratkaisu brute-force menetelmällä n!