Saltar al contenido principal
Z

Dijkstra vs A*

Dijkstra vs A* compared — heuristics, speed, optimality and use cases, with interactive pathfinding visualizers.

Dijkstra finds shortest paths from a source to every node; A* adds a heuristic that aims at a single goal, exploring far fewer nodes. A* with a good heuristic is Dijkstra, only smarter about direction.

Dijkstra vs A* at a glance

Dijkstra A*
Heuristic None Yes (estimate to goal)
Target All nodes One goal
Nodes explored More Fewer
Optimal Yes Yes (admissible heuristic)

When to use Dijkstra

Use Dijkstra for shortest paths to all nodes or when no good heuristic exists.

When to use A*

Use A* for point-to-point pathfinding where you can estimate distance to the goal.

Tools for Dijkstra & A*

Dijkstra vs A*

¿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.