Dijkstra expands nodes by current distance. A* adds a heuristic `h(n)` (estimated remaining cost) and prioritizes `g(n)+h(n)`. With an admissible heuristic (never overestimates), A* is optimal and usually explores fewer nodes, so it can be faster.