Skip to content

Latest commit

 

History

History
33 lines (17 loc) · 1.46 KB

README.md

File metadata and controls

33 lines (17 loc) · 1.46 KB

Maze Generator & Solver Visualizer

This is a web application built with vanilla JavaScript and is used to visualize maze algorithms and pathfinding algorithms. I built this application because I was fascinated by these algorithms and also wanted to improve my Front-End skills. You can access it here: https://pinglu85.github.io/maze/

Maze Algorithms

This application includes the following maze algorithms:

  • Hunt-and-Kill: produces mazes that have long, twisty passages and relatively few dead ends.

  • Recursive Backtracker: produces mazes that have long, twisty passages and relatively few dead ends; much faster than Hunt-and-Kill.

  • Recursive Division: a fast algorithm; builds walls, rather than breaking through them.

  • Growing Tree: depends heavily on how the next cell is selected from the set.

  • Binary Tree: produces mazes that have a very biased texture.

  • Randomized Kruskal's Algorithm: produces very regular, uniform mazes; largely unbiased.

  • Aldous-Broder Algorithm: one of the least efficient maze algorithms; unbiased.

Pathfinding Algorithms

This application includes the following pathfinding algorithms:

  • Dijkstra's Algorithm: the classic pathfinding algorithm; guarantees the shortest path.

  • A* Search: one of the best pathfinding algorithm; uses heuristics to guarantee the shortest path; much faster than Dijkstra's Algorithm.

Reference

Buck, James (2015). Mazes for Programmers. Pragmatic Bookshelf.