A* search is an informed search algorithm that finds the shortest path between a starting node and a goal node. It uses a heuristic function to estimate the distance to the goal for each node, guiding the search towards the most promising nodes first. A* is optimal if the heuristic is admissible (never overestimates the actual cost to reach the goal). It is also complete and optimally efficient. The algorithm maintains two lists, an open list of nodes to explore and a closed list of explored nodes. It iteratively removes the node with the lowest estimated total cost from the open list and expands it until the goal is found.