Skip to content
/ maze Public

A visualization tool for various maze algorithms and pathfinding algorithms.

Notifications You must be signed in to change notification settings

pinglu85/maze

Repository files navigation

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.