Sobes.tech
Junior — Middle

Wyjaśnij koncepcję złożoności czasowej O(n) i w jakich sytuacjach jest stosowana.

sobes.tech AI

Odpowiedź od AI

Złożoność czasowa O(n) oznacza, że czas wykonania algorytmu rośnie liniowo wraz ze wzrostem rozmiaru danych wejściowych n.

Oznacza to, że jeśli liczba elementów w zbiorze danych się podwoi, czas wykonania również mniej więcej się podwoi.

Przykład sytuacji z O(n):

  • Szukanie elementu w nieposortowanej tablicy metodą brute-force.

  • Obliczanie sumy wszystkich liczb na liście.

Przykład w Swift:

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

Tutaj funkcja przechodzi przez wszystkie elementy tablicy raz, więc jej złożoność czasowa to O(n).