# A\* Pathfinding There are 3 main values usedd in reference to A\*: ``` f = how promisiing a new location is g = distance from origin h = estimate distance to goal f = g + h ``` For a grid space our `h` is calculated by two straight shots to the goal from the current location(ignore barriers). The grid space `g` value is basiccally the number of steps we've taken from the origin. We maintain a list of potential nodes only, so if one of the seeking nodes gets us stuck we can freely remove that, because it succs. # Time & Space Commplexities ## Best-First Search Time: O(VlogV + E) ## Dijkstra's O(V^2 + E) ## A\* Worst case is the same as Dijkstra's time O(V^2 + E)