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
}