Según estas notas , se considera que DFS tiene una complejidad de espacio , donde b es el factor de ramificación del árbol ym es la longitud máxima de cualquier ruta en el espacio de estado.
Lo mismo se dice en esta página de Wikibook en Búsqueda desinformada .
Ahora, el "cuadro de información" del artículo de Wikipedia sobre DFS presenta lo siguiente para la complejidad espacial del algoritmo:
, si se recorre todo el gráfico sin repetición, O (se busca la longitud de ruta más larga ) para gráficos implícitos sin eliminación de nodos duplicados
que es más similar a lo que pensé que era la complejidad espacial de DFS, es decir, , donde m es la longitud máxima alcanzada por el algoritmo.
¿Por qué creo que este es el caso?
Bueno, básicamente no necesitamos almacenar ningún otro nodo que no sea el nodo de la ruta que estamos viendo actualmente, por lo que no tiene sentido multiplicarlo por en el análisis proporcionado tanto por Wikibook como por las notas que le envié. a.
Además, según este documento sobre IDA * de Richard Korf , la complejidad espacial de DFS es , donde d se considera el "límite de profundidad".
Entonces, ¿cuál es la complejidad espacial correcta de DFS?
Creo que puede depender de la implementación, por lo que agradecería una explicación de la complejidad del espacio para las diferentes implementaciones conocidas.
example where a depth-first traversal on a graph would not result in a tree
sin pensarlo demasiado: análisis. (Espera: ¿a qué te refieres result in a tree
? La pregunta es sobre buscar / atravesar un gráfico)
DFS is considered to […] of the tree
no todas las gráficas de profundidad atravesada primero son árboles .