Junior — Middle
Pode dar exemplos de algoritmos para procurar elementos em estruturas de dados?
sobes.tech IA
Resposta da IA
Para procurar elementos em estruturas de dados, frequentemente utilizam-se os seguintes algoritmos:
- Procura linear (Linear Search) — percorrer os elementos um a um, adequado para arrays não ordenados.
- Procura binária (Binary Search) — eficiente para arrays ordenados, divide a área de busca ao meio em cada passo.
- Procura em árvores (por exemplo, procura em árvore binária de pesquisa) — percurso recursivo ou iterativo para encontrar um elemento.
- Procura em tabelas de hash — acesso rápido por chave usando uma função hash.
Exemplo de procura binária em Swift:
func binarySearch(_ array: [Int], target: Int) -> Int? {
var left = 0
var right = array.count - 1
while left <= right {
let mid = (left + right) / 2
if array[mid] == target {
return mid
} else if array[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return nil
}