La búsqueda por profundidad (DFS) es un algoritmo para explorar árboles y grafos que comienza en un nodo raíz y explora cada rama lo más posible antes de retroceder. La búsqueda por amplitud (BFS) comienza en un nodo raíz y primero inspecciona todos los vecinos de ese nodo antes de pasar a los vecinos de los vecinos.