Sobes.tech
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
}