¿Qué es un algoritmo de búsqueda?
Un algoritmo de búsqueda es un procedimiento sistemático que permite encontrar un
elemento específico dentro de una colección de datos (como una lista, arreglo, base de datos,
etc.) o determinar si ese elemento existe o no.
Ejemplos principales de algoritmos de búsqueda:
1. Búsqueda Lineal (Secuencial)
Examina cada elemento uno por uno desde el inicio hasta encontrar el objetivo.
Ejemplo práctico:
Lista: [5, 2, 8, 1, 9, 3]
Buscar: 8
Paso 1: ¿5 = 8? No
Paso 2: ¿2 = 8? No
Paso 3: ¿8 = 8? ¡SÍ! Encontrado en posición 3
2. Búsqueda Binaria
Solo funciona en listas ordenadas. Divide repetidamente la lista por la mitad.
Ejemplo práctico:
Lista ordenada: [1, 3, 5, 7, 9, 11, 13]
Buscar: 7
Paso 1: Elemento medio = 7 ¡Encontrado inmediatamente!
Otro ejemplo buscando 11:
Paso 1: Medio = 7, como 11 > 7, buscar en mitad derecha [9, 11, 13]
Paso 2: Medio = 11 ¡Encontrado!
3. Búsqueda por Hash
Usa una función matemática para calcular directamente dónde debería estar el elemento.
Ejemplo: En una tabla hash, para buscar "Juan" se calcula hash("Juan") = 5, entonces se busca
directamente en la posición 5.
4. Búsqueda en Profundidad (DFS)
Para estructuras tipo árbol, explora completamente una rama antes de pasar a otra.
Ejemplo: Buscar un archivo en carpetas del computador - entra completamente en una carpeta
y sus subcarpetas antes de pasar a la siguiente carpeta principal.
5. Búsqueda en Anchura (BFS)
Explora todos los elementos del mismo nivel antes de bajar al siguiente nivel.
Ejemplo: Buscar personas en una red social - primero revisa todos tus amigos directos, luego
los amigos de tus amigos.
Ejemplos de la vida cotidiana:
Buscar una palabra en el diccionario → Búsqueda binaria (abres por el medio según la
letra inicial)
Buscar un libro en la biblioteca → Búsqueda por clasificación
Encontrar un contacto en el teléfono → Búsqueda por orden alfabético
Google buscando páginas web → Algoritmos complejos de indexación
Buscar una canción en Spotify → Búsqueda por texto e índices
GPS encontrando rutas → Algoritmos de búsqueda de caminos
La elección del algoritmo depende del tipo de datos, si están ordenados, el tamaño de la
colección y qué tan rápido necesitas el resultado.
Reintentar
Claude aún no tiene la capacidad de ejecutar el código que genera.
dame eso
Editar
Caso 03: Algoritmos de Búsqueda
¿Qué es un algoritmo de búsqueda?
Un algoritmo de búsqueda es un método sistemático y ordenado que permite localizar un
elemento específico dentro de una estructura de datos (lista, arreglo, árbol, grafo, etc.) o
determinar si dicho elemento existe en la colección.
Características principales:
Recibe como entrada: la estructura de datos y el elemento a buscar
Devuelve: la posición del elemento o indica si no existe
Objetivo: encontrar la información de manera eficiente
Ejemplos de algoritmos de búsqueda:
1. Búsqueda Lineal:
Lista: [10, 25, 3, 17, 8]
Buscar: 17
- Revisar 10 → No
- Revisar 25 → No
- Revisar 3 → No
- Revisar 17 → ¡Encontrado en posición 4!
2. Búsqueda Binaria:
Lista ordenada: [2, 5, 8, 12, 16, 23, 38, 45]
Buscar: 16
- Medio = 12, como 16 > 12, buscar en [16, 23, 38, 45]
- Medio = 23, como 16 < 23, buscar en [16]
- Encontrado: 16 en posición 5
3. Búsqueda en Árbol: Para encontrar un elemento navegando por ramas de un árbol de
decisiones.
¿Qué es el algoritmo A*?
El algoritmo A* (A estrella) es un algoritmo de búsqueda de caminos que encuentra la ruta
más corta entre un punto inicial y un punto destino en un grafo. Es ampliamente usado en
inteligencia artificial, videojuegos y sistemas de navegación.
Funcionamiento: Combina dos elementos:
g(n): Costo real desde el inicio hasta el nodo actual
h(n): Estimación heurística del costo desde el nodo actual hasta el destino
f(n) = g(n) + h(n): Función de evaluación total
Ejemplos del algoritmo A*:
1. Navegación GPS:
Inicio: Tu casa
Destino: Oficina
- Evalúa rutas considerando distancia real + tiempo estimado
- Elige la ruta con menor f(n) total
- Resultado: "Toma Av. Principal, luego gira en Calle 5"
2. Videojuegos:
Personaje en posición (1,1) quiere llegar a (5,5)
- Evalúa cada casilla: distancia recorrida + distancia estimada al objetivo
- Evita obstáculos priorizando el camino más eficiente
- Resultado: Ruta óptima evitando muros y enemigos
3. Planificación de rutas de entrega:
Camión debe visitar 5 tiendas desde el almacén
- Calcula: distancia real + estimación a destino final
- Optimiza la secuencia de entregas
- Resultado: Ruta que minimiza tiempo y combustible
4. Robótica:
Robot navegando en una fábrica
- Desde punto A hasta punto B
- Considera obstáculos dinámicos
- Recalcula ruta en tiempo real