Advanced Topic 37 of 51 Algorithms
A* Search
Heuristic-guided shortest path search.
How it works
A* is a best-first shortest-path search that expands the node with the lowest f = g + h, where g is the cost from the start and h is a heuristic estimate of the remaining cost to the goal. If the heuristic is admissible, never overestimating, A* finds an optimal path, and with a consistent heuristic no node is expanded twice. A good heuristic prunes much of the search space compared with Dijkstra.
Where it is used
Pathfinding in video games and robotics, route planning, puzzle solving such as the 8-puzzle and natural language parsing use A*. Grid maps often use Manhattan or Euclidean distance.
Common pitfall
An overestimating heuristic can return suboptimal paths, and a weak one makes A* behave like Dijkstra. Memory use can be large because the open set holds many nodes. Tie-breaking, diagonal costs and updating nodes in the open set are common sources of bugs. Consider IDA* for memory limits.
Where it fits in the course
A* Search is topic 37 of 51 in Algorithms, rated Advanced. It follows Floyd-Warshall Algorithm. The next topic is Minimum Spanning Tree.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Algorithms quiz.
- Explore the Graph Traversal visualizer: BFS, DFS and Dijkstra on a weighted graph.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is A* Search?
Where do people use A* Search?
What is the most common mistake with A* Search?
What should I learn before this topic?
How can I practice it?
Is A* Search hard to learn?
How long does it take to learn A* Search?
Which topics are related to A* Search?
What should I study after A* Search?
Related topics
- Floyd-Warshall Algorithm (Algorithms)
- Minimum Spanning Tree (Algorithms)
- Bellman-Ford Algorithm (Algorithms)
- Kruskal's Algorithm (Algorithms)
- Search Engines (Emerging & Frontier Topics)
- Binary Search Trees (Data Structures)
- Search Algorithms in AI (AI & Machine Learning)