Iterative deepening search (IDS) is a complete search algorithm that combines the completeness of breadth-first search with the memory efficiency of depth-first search. IDS works by performing iterative depth-first searches, increasing the depth limit by one each iteration, until the goal is found or the entire search space has been explored. IDS is guaranteed to find a solution if one exists, uses less memory than breadth-first search by limiting the depth at each iteration, and is more efficient than naive depth-first search which can get stuck in infinite loops.