Búsqueda en anchura para niños
En el mundo de la computación, la Búsqueda en Anchura (conocida como BFS por sus siglas en inglés, Breadth First Search) es una forma inteligente de explorar o encontrar cosas dentro de una red de conexiones. Imagina que tienes un mapa con muchos lugares conectados por caminos; la Búsqueda en Anchura te ayuda a explorar esos lugares de una manera muy organizada.
Este método es como lanzar una piedra en un estanque: las ondas se expanden en círculos, llegando primero a lo más cercano, luego a lo siguiente, y así sucesivamente. De la misma forma, la Búsqueda en Anchura empieza en un punto y explora todos sus vecinos directos. Después, explora los vecinos de esos vecinos, y sigue así hasta que ha recorrido todas las conexiones posibles. Es muy útil para encontrar el camino más corto entre dos puntos en una red.
Datos para niños Búsqueda en anchura |
||
---|---|---|
![]() |
||
Tipo | No informada | |
Estructura de datos | Cola | |
Clase de complejidad | Algoritmo de búsqueda |
Contenido
¿Qué es la Búsqueda en Anchura?
La Búsqueda en Anchura es un algoritmo que se usa para recorrer o buscar elementos en un grafo. Un grafo es como un dibujo con puntos (llamados vértices o nodos) y líneas que los conectan (llamadas aristas). Piensa en un mapa de ciudades conectadas por carreteras: las ciudades son los vértices y las carreteras son las aristas.
Este algoritmo es una "búsqueda sin información" porque no usa pistas especiales para saber dónde está la solución. Simplemente explora todo de forma ordenada, nivel por nivel, hasta que encuentra lo que busca o ha revisado todas las conexiones.
¿Cómo funciona este algoritmo?
La Búsqueda en Anchura tiene un procedimiento muy claro para explorar una red de conexiones. Su objetivo principal es encontrar todos los puntos a los que se puede llegar desde un punto de inicio y, al mismo tiempo, calcular la distancia más corta (en número de pasos o conexiones) a cada uno de esos puntos.
Pasos para explorar un grafo
- Punto de partida: Se elige un punto de inicio, al que llamamos "fuente". Desde ahí, el algoritmo empieza a explorar.
- Exploración sistemática: La Búsqueda en Anchura explora los puntos de la red de forma organizada. Primero, encuentra todos los puntos que están directamente conectados a la fuente.
- Calcula distancias: Mientras explora, el algoritmo lleva un registro de cuántos "pasos" se necesitan para llegar desde el punto de inicio a cualquier otro punto. Esto significa que encuentra el camino más corto en términos de número de conexiones.
- Crea un "árbol": A medida que explora, el algoritmo construye una especie de "árbol" que muestra cómo se llegó a cada punto desde el inicio. Este árbol es muy útil porque cada camino desde el inicio a cualquier otro punto es el más corto posible.
- Expansión uniforme: El nombre "Búsqueda en Anchura" viene de cómo se expande. Primero, llega a todos los puntos que están a 1 paso de distancia, luego a todos los que están a 2 pasos, y así sucesivamente. Nunca explora un punto más lejano antes de haber explorado todos los puntos más cercanos.
¿Cómo lo hace una computadora?
Para que una computadora realice la Búsqueda en Anchura, necesita seguir una serie de instrucciones. Usa una estructura de datos especial llamada "cola", que funciona como una fila en un supermercado: el primero en entrar es el primero en salir.
La cola de espera
1. Preparación: Al principio, la computadora marca todos los puntos como "no visitados", les asigna una distancia "infinita" (porque aún no sabe cómo llegar a ellos) y no les asigna un "padre" (el punto desde el que se llegó). 2. Inicio: El punto de partida se marca como "visitado", su distancia se establece en 0 (porque ya estamos ahí) y se añade a la cola. 3. Exploración: Mientras haya puntos en la cola, la computadora toma el primero de la fila. 4. Vecinos: Luego, revisa todos los puntos directamente conectados a este punto. 5. Visitar nuevos puntos: Si un punto conectado aún no ha sido visitado, la computadora lo marca como "visitado", calcula su distancia (la distancia del punto actual más 1) y lo añade a la cola. También registra de qué punto vino (su "padre"). 6. Repetir: Este proceso se repite hasta que la cola está vacía, lo que significa que todos los puntos alcanzables han sido explorados.
¿Qué tan rápido es?
La Búsqueda en Anchura es bastante eficiente. Su velocidad se mide con algo llamado "complejidad de tiempo", que se escribe como O(|V|+|E|). Esto significa que el tiempo que tarda en ejecutarse depende del número de puntos (V) y del número de conexiones (E) en la red. Básicamente, la computadora visita cada punto y cada conexión una sola vez, lo que la hace rápida para muchas tareas.
Véase también
En inglés: Breadth-first search Facts for Kids
- Árbol (estructura de datos)
- Recorrido de árboles
- Búsqueda en profundidad