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).