Secondo queste note , si ritiene che DFS abbia una complessità spaziale , dove b è il fattore di ramificazione dell'albero e m è la lunghezza massima di qualsiasi percorso nello spazio degli stati.
Lo stesso si dice in questa pagina Wikibook sulla ricerca non informata .
Ora la "infobox" dell'articolo di Wikipedia su DFS presenta quanto segue per la complessità spaziale dell'algoritmo:
, se l'intero grafico viene attraversato senza ripetizioni, O ( lunghezza del percorso più lunga cercata ) per grafici impliciti senza eliminazione di nodi duplicati
che è più simile a quella che pensavo fosse la complessità spaziale di DFS, ovvero , dove m è la lunghezza massima raggiunta dall'algoritmo.
Perché penso che sia così?
Bene, fondamentalmente non abbiamo bisogno di memorizzare altri nodi oltre ai nodi del percorso che stiamo attualmente guardando, quindi non c'è motivo di moltiplicare per nell'analisi fornita sia da Wikibook sia dalle note che ti ho indicato per.
Inoltre, secondo questo articolo su IDA * di Richard Korf , la complessità spaziale di DFS è , dove d è considerato il "limite di profondità".
Quindi, qual è la complessità spaziale corretta di DFS?
Penso che possa dipendere dall'implementazione, quindi apprezzerei una spiegazione della complessità dello spazio per le diverse implementazioni conosciute.
example where a depth-first traversal on a graph would not result in a tree
senza pensarci troppo: analisi. (Aspetta: cosa vuoi dire result in a tree
:? La domanda riguarda la ricerca / attraversamento di un grafico.)
DFS is considered to […] of the tree
non tutti i grafici attraversati per primi sono un albero .