A* is a pathfinding algorithm that uses a heuristic to make an informed decision about which steps to take to find a path.
The agent uses A* search to find a path on a maze with obstacles it is unaware of. With repeated searches, the agent learns more about the maze, and generates new paths to reach the target.
Included in this repository are: 3 kinds of A* alogorithms: Forward, Backward, and Adaptive. A class that can read mazes, store them, or randomly generate them. A binary heap. Visulization for the pathfinding.