Sobes.tech
Junior

Jaká je složitost hledání prvku v poli ve Swiftu?

sobes.tech AI

Odpověď od AI

Komplexita vyhledávání prvku v typickém neuspořádaném poli (například Array<Element>) v Swift je O(n), kde n je počet prvků v poli. To je způsobeno tím, že v nejhorším případě může být nutné projít všechny prvky pole, aby se našel požadovaný prvek.

Nicméně, pokud je pole seřazené, lze použít binární vyhledávání, které má složitost O(log n). Swift poskytuje metodu binarySearch pro seřazené kolekce.

Příklad lineárního vyhledávání:

let array = [1, 5, 2, 8, 3]
let elementToFind = 8

for element in array {
    if element == elementToFind {
        // Prvek nalezen
        break
    }
}

Příklad binárního vyhledávání v seřazeném poli:

let sortedArray = [1, 2, 3, 5, 8]
let elementToFind = 5

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Prvek nalezen na indexu
}