Busca linear
Busca linear verifica elementos até encontrar ou chegar ao fim.
O que é Busca linear?
Busca linear verifica elementos até encontrar ou chegar ao fim.
Encontre alvo em dados não ordenados.
Pontos importantes
- Teste entradas vazias, únicas, duplicadas e ordenadas.
- Separe correção de otimização.
- Prefira a biblioteca padrão em produção.
Visualizador de Busca linear
O(n)Use Executar ou Passo para acompanhar cada comparação e movimento dos dados.
Exemplos de código C e C++
main.c
#include <stdio.h>
int find(const int *values, int size, int target) {
for (int index = 0; index < size; ++index) {
if (values[index] == target) return index;
}
return -1;
}
int main(void) {
int values[] = {14, 3, 27, 8, 19};
printf("index=%d\n", find(values, 5, 8));
}
index=3
C++
main.cpp
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector values{14, 3, 27, 8, 19};
auto match = std::find(values.begin(), values.end(), 8);
std::cout << "index="
<< std::distance(values.begin(), match) << '\n';
}
index=3
Comparação entre C e C++
Ambas são O(n) no pior caso. C retorna -1; C++ retorna iterator comparado a end.
C
Loops, ponteiros, tamanhos e buffers são explícitos.
C++
Iteradores e algoritmos separam operação e armazenamento.
Exercícios práticos
Execute as duas versões e modifique-as para observar suas garantias.
- Rastreie cada comparação.
- Teste duplicatas e valores extremos.
- Compare com a biblioteca padrão.