Junior — Middle
Vysvětlete koncept časové složitosti O(n) a v jakých situacích se používá.
sobes.tech AI
Odpověď od AI
Časová složitost O(n) znamená, že doba běhu algoritmu roste lineárně s velikostí vstupních dat n.
To znamená, že pokud se počet prvků v datové sadě zdvojnásobí, doba běhu se přibližně zdvojnásobí.
Příklad situace s O(n):
-
Vyhledávání prvku v neuspořádaném poli pomocí prohledávání všech prvků.
-
Výpočet součtu všech čísel v seznamu.
Příklad v Swift:
func sumArray(_ array: [Int]) -> Int {
var sum = 0
for num in array {
sum += num
}
return sum
}
Zde funkce projde všechny prvky pole jednou, takže její časová složitost je O(n).