Sobes.tech
Junior

Wie hoch ist die Komplexität bei der Suche nach einem Element in einem Array in Swift?

sobes.tech KI

Antwort von AI

Die Komplexität der Suche nach einem Element in einem typischen ungeordneten Array (z.B. Array<Element>) in Swift beträgt O(n), wobei n die Anzahl der Elemente im Array ist. Dies liegt daran, dass im schlimmsten Fall alle Elemente des Arrays durchlaufen werden müssen, um das Element zu finden.

Wenn das Array jedoch sortiert ist, kann die binäre Suche verwendet werden, die eine Komplexität von O(log n) hat. Swift stellt die Methode binarySearch für sortierte Sammlungen bereit.

Beispiel für lineare Suche:

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

for element in array {
    if element == elementToFind {
        // Element gefunden
        break
    }
}

Beispiel für binäre Suche in einem sortierten Array:

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

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Element an Index gefunden
}