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