Búsqueda lineal
La búsqueda lineal revisa elementos hasta una coincidencia o el final.
¿Qué es Búsqueda lineal?
La búsqueda lineal revisa elementos hasta una coincidencia o el final.
Encuentra un objetivo en datos sin ordenar.
Puntos importantes
- Prueba entradas vacías, únicas, duplicadas y ordenadas.
- Separa corrección y optimización.
- Prefiere la biblioteca estándar en producción.
Visualizador de Búsqueda lineal
O(n)Usa Reproducir o Paso para seguir cada comparación y movimiento de datos.
Ejemplos de código C y 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
Comparación entre C y C++
Ambas versiones son O(n) en el peor caso. C devuelve -1; C++ devuelve un iterador y lo compara con end.
C
Bucles, punteros, tamaños y buffers se escriben explícitamente.
C++
Iteradores y algoritmos separan la operación del almacenamiento.
Ejercicios prácticos
Ejecuta ambas versiones y modifícalas para observar sus garantías.
- Traza cada comparación.
- Prueba duplicados y valores extremos.
- Compara con la biblioteca estándar.