Saltar al contenido principal
Z

BFS vs DFS

BFS vs DFS compared — data structure, shortest paths, memory and use cases, with interactive visualizers for both.

Breadth-first search (BFS) explores a graph level by level with a queue; depth-first search (DFS) dives down one branch with a stack (or recursion). Both visit every node in O(V + E) but suit different problems.

BFS vs DFS at a glance

BFS DFS
Data structure Queue (FIFO) Stack / recursion
Shortest path (unweighted) Yes No
Memory Wide frontier Path depth
Best for Shortest paths, levels Cycles, topological sort, mazes

When to use BFS

Use BFS for shortest paths on unweighted graphs and level-order traversal.

When to use DFS

Use DFS for cycle detection, topological sorting, and exploring all paths.

Tools for BFS & DFS

BFS vs DFS

¿Cómo genera un laberinto el algoritmo de división recursiva?

Parte de un área vacía y luego divide recursivamente cada cámara con una pared recta que tiene un hueco aleatorio, repitiendo el proceso hasta que las cámaras son demasiado pequeñas para seguir dividiéndolas.

¿Qué es un laberinto "perfecto"?

Un laberinto en el que existe exactamente un único camino entre dos celdas cualesquiera, sin bucles ni zonas aisladas. El algoritmo de división recursiva siempre genera laberintos perfectos.

¿Puedo resolver este laberinto?

Sí — copia el diseño en los visualizadores de BFS, Dijkstra o A* (que comparten la misma cuadrícula) para ver cómo un algoritmo de búsqueda de rutas lo recorre.

¿Qué otros algoritmos de generación de laberintos existen?

Recursive backtracker (DFS aleatorizado), Prim's, Kruskal's, Wilson's y Eller's: cada uno produce laberintos con una textura visual diferente.