Junior — Middle
Објасните концепт временске сложености O(n) и у којим ситуацијама се примењује.
sobes.tech АИ
Одговор од АИ
Vremenska složenost O(n) znači da se vreme izvršavanja algoritma linearno povećava sa povećanjem veličine ulaznih podataka n.
To znači da ako se broj elemenata u skupu podataka udvostruči, vreme izvršavanja će se približno udvostručiti.
Primer situacije sa O(n):
-
Pretraživanje elementa u neuspešno sortiranom nizu prolaskom kroz sve elemente.
-
Računanje sume svih brojeva u listi.
Primer u Swift-u:
func sumArray(_ array: [Int]) -> Int {
var sum = 0
for num in array {
sum += num
}
return sum
}
Ovde funkcija prolazi kroz sve elemente niza jednom, pa je njena vremenska složenost O(n).