Breadth-First Search (BFS)
BFS explores all neighbor nodes of the current state before moving on to the next level of nodes. It guarantees finding the shallowest solution, but it may require substantial memory to store all explored nodes.
Depth-First Search (DFS)
DFS explores as far as possible along each branch before backtracking. It uses less memory compared to BFS but may get trapped in infinite loops in infinite search spaces.
Iterative Deepening Depth-First Search (IDDFS)
IDDFS combines the advantages of BFS and DFS by performing DFS up to a certain depth limit and gradually increasing the depth limit until the goal is found. It guarantees the optimal solution while using memory comparable to DFS.