Computação |
Introdução
Em programação, é comum lidarmos com coleções de dados, como listas, vetores ou matrizes.
Para manipular essas estruturas com eficiência, precisamos de algoritmos de busca, que localizam valores específicos, e algoritmos de ordenação, que reorganizam os elementos com base em uma ordem estabelecida (crescente ou decrescente).
Conhecer esses algoritmos é essencial para o desenvolvimento de soluções rápidas, organizadas e eficientes.
Algoritmos de Busca
Busca Linear: A busca linear (ou sequencial) percorre todos os elementos de uma lista até encontrar o valor desejado. É simples, mas pode ser lenta em listas grandes. Exemplo em pseudocódigo:
para i de 0 até tamanho(lista) - 1 {
se lista[i] == valor então
retornar i
}
retornar -1
}
Busca Binária: Só funciona em listas ordenadas. Ela divide a lista ao meio repetidamente até encontrar o valor. Ex.:
inicio = 0
fim = tamanho(lista) - 1
enquanto inicio <= fim {
meio = (inicio + fim) / 2
se lista[meio] == valor então
retornar meio
senao se valor < lista[meio] então
fim = meio - 1
senao
inicio = meio + 1
}
retornar -1
}