Sobes.tech
Junior

Qual é a complexidade de procurar um elemento numa matriz em Swift?

sobes.tech IA

Resposta da IA

A complexidade de procurar um elemento numa matriz não ordenada típica (por exemplo, Array<Element>) em Swift é O(n), onde n é o número de elementos na matriz. Isto deve-se ao facto de que, no pior caso, pode ser necessário percorrer todos os elementos da matriz para encontrar o elemento.

No entanto, se a matriz estiver ordenada, pode usar a busca binária, que tem uma complexidade de O(log n). Swift fornece o método binarySearch para coleções ordenadas.

Exemplo de busca linear:

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

for element in array {
    if element == elementToFind {
        // Elemento encontrado
        break
    }
}

Exemplo de busca binária numa matriz ordenada:

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

if let index = sortedArray.firstIndex(where: { $0 == elementToFind }) {
    // Elemento encontrado no índice
}