Generate and visualize different maze generation and path finding algorithms. Built using TypeScript and React.
- Generate mazes using various algorithms:
- Prim's algorithm
- Recursive backtracking
- Kruskal's algorithm
- Recursive division
- Solve mazes using different path finding algorithms:
- Breadth-first search (BFS)
- Depth-first search (DFS)
- A* search
- Dijkstra's algorithm
- Visualize the maze generation and path finding process
- Create your own maze by left clicking and dragging on the grid
- Move the start and end points by dragging them
Prim's is a greedy algorithm that efficiently creates mazes by considering the local optimum at each step. The resulting mazes often have numerous dead-ends.
A randomized depth-first search approach, this method creates mazes with long, winding passages.
An algorithm that produces mazes with a balanced texture, combining both randomness and structure in its approach.
A recursive algorithm that works by splitting the maze into smaller sub-mazes. This method creates mazes with long, straight passages.
Breadth-first search is a graph traversal algorithm that explores nodes in the order of their distance from the root node. It finds the shortest path between the start and end points.
Depth-first search is a graph traversal algorithm that explores nodes in the order of their depth from the root node. It does not guarantee the shortest path.
A* search is a graph traversal algorithm that finds the shortest path between the start and end points. It uses a heuristic function to estimate the distance between the current node and the end node.
Dijkstra's algorithm is a graph traversal algorithm that finds the shortest path between the start and end points. It does not use a heuristic function.
- Clone the project
git clone
- Go to the project directory
cd vision-maze
- Install dependencies
npm install
- Start the server
npm run dev
or try the demo
Contributions are welcome! Feel free to open an issue or submit a pull request.
Delvoid - @delvoid