Sobes.tech
Junior — Middle

Selgitage ajakulude keerukuse kontseptsiooni O(n) ja millistes olukordades seda rakendatakse.

sobes.tech AI

Vastus AI-lt

Ajaajamuse keerukus O(n) tähendab, et algoritmi täitmiskiirus kasvab lineaarselt sisendandmete suurusega n.

See tähendab, et kui andmekogumi elementide arv kahekordistub, siis täitmiskiirus umbes kahekordistub.

Näide olukorrast, kus on O(n):

  • Elementide otsimine mittesorted massiivis läbi kõigi elementide.

  • Kõigi arvude summa arvutamine nimekirjas.

Näide Swiftis:

func sumArray(_ array: [Int]) -> Int {
    var sum = 0
    for num in array {
        sum += num
    }
    return sum
}

Siin läbib funktsioon kõik massiivi elemendid ühe korra, seega on selle ajakompleksus O(n).