De acordo com essas notas , o DFS é considerado como tendo complexidade de espaço , em que é o fator de ramificação da árvore em que é o comprimento máximo de qualquer caminho no espaço de estado.
O mesmo é dito nesta página do Wikibook na Pesquisa não informada .
Agora, a "caixa de informações" do artigo da Wikipedia sobre DFS apresenta o seguinte para a complexidade espacial do algoritmo:
, se o gráfico inteiro for percorrido sem repetição, comprimento do caminho mais longo pesquisado para gráficos implícitos sem eliminação de nós duplicados
que é mais parecido com o que eu pensava ser a complexidade espacial do DFS, ou seja, , onde é o comprimento máximo atingido pelo algoritmo.
Por que eu acho que esse é o caso?
Bem, basicamente não precisamos armazenar outros nós além dos nós do caminho que estamos vendo atualmente, então não há nenhum ponto de multiplicar por na análise fornecida pelo Wikibook e pelas notas que você me referiu. para.
Além disso, de acordo com este documento sobre a IDA * de Richard Korf , a complexidade espacial do DFS é , onde é considerado o "corte de profundidade".
Então, qual é a complexidade de espaço correta do DFS?
Eu acho que isso depende da implementação, então eu apreciaria uma explicação da complexidade do espaço para as diferentes implementações conhecidas.
example where a depth-first traversal on a graph would not result in a tree
sem pensar demais: analisar. (Wait: o que quer dizer: result in a tree
? A questão é de como pesquisar / atravessando um gráfico.)
DFS is considered to […] of the tree
nem todo gráfico percorrido primeiro a profundidade é uma árvore .