Junior — Middle
Обяснете концепцията за времева сложност O(n) и в кои ситуации се прилага.
sobes.tech AI
Отговор от AI
Времевата сложност O(n) означава, че времето за изпълнение на алгоритъма расте линейно с увеличаването на размера на входните данни n.
Това означава, че ако броят на елементите в набора данни се удвои, времето за изпълнение приблизително също се удвоява.
Пример за ситуация с O(n):
-
Търсене на елемент в неотсортиран масив чрез преглеждане на всички елементи.
-
Изчисляване на сумата на всички числа в списък.
Пример на Swift:
func sumArray(_ array: [Int]) -> Int {
var sum = 0
for num in array {
sum += num
}
return sum
}
Тук функцията преминава през всички елементи на масива веднъж, затова нейната времева сложност е O(n).