Fresh Programming - Pathfinder by Dougie Fresh
This project was a side project to the RTS (Real Time Strategy like Starcraft or Command & Conquer) that I have been dying to work on for some time now. Unfortunately its always hard to get started on a project of that size so I figured I would start small. This whole app was just a way for me to write, test and visually see the search algorithms that I would need to write for any RTS. There are four main search algorithms, Depth First Search, Breadth First Search, Dijkstra's, and A* (A-Star). I have written the algorithms for the all but A* which is really just Dijkstra's on top of Dijkstra's.
Depth First Search is just granted to find the endpoint if possible, but not in the shortest time or distance (cost). Breadth First Search guarantees to find the end point in the fewest nodes possible. Dijkstra's will find the shortest path possible based on cost, which is then based on distance or difficulty (up hill, or through traffic). A* is one of the best because it will find the least cost path to the end point while checking as few nodes as possible. A* does this by reassessing it's position relative to the goal each time it makes a decision.