Gemäß diesen Anmerkungen wird angenommen , dass DFS eine -Raumkomplexität aufweist, wobei b der Verzweigungsfaktor des Baums und m die maximale Länge eines Pfades im Zustandsraum ist.
Das gleiche gilt für diese Wikibook-Seite zur uninformierten Suche .
In der "Infobox" des Wikipedia-Artikels über DFS wird nun Folgendes für die räumliche Komplexität des Algorithmus dargestellt:
, wenn der gesamte Graph ohne Wiederholung durchlaufen wird, O ( längste gesuchte Pfadlänge ) für implizite Graphen ohne Eliminierung doppelter Knoten
Dies ähnelt eher der Raumkomplexität von DFS, dh , wobei m die maximale Länge ist, die der Algorithmus erreicht.
Warum denke ich, dass dies der Fall ist?
Grundsätzlich müssen wir keine anderen Knoten als die Knoten des Pfads speichern, den wir gerade betrachten. Es macht also keinen Sinn, in der Analyse, die sowohl vom Wikibook als auch von den Notizen, auf die ich Sie verwiesen habe, bereitgestellt wird, mit multiplizieren zu.
Darüber hinaus ist gemäß diesem Artikel über IDA * von Richard Korf die Raumkomplexität von DFS , wobei d als "Tiefengrenzwert" betrachtet wird.
Was ist die richtige Speicherkomplexität von DFS?
Ich denke, es kann von der Implementierung abhängen, daher würde ich eine Erklärung der Raumkomplexität für die verschiedenen bekannten Implementierungen begrüßen.
example where a depth-first traversal on a graph would not result in a tree
ohne zu viel darüber nachzudenken: analysieren. (Warten Sie: Was meinen Sie : result in a tree
? Die Frage ist über das Suchen / Durchlaufen eines Diagramms.)
DFS is considered to […] of the tree
Nicht jeder Graph, der zuerst die Tiefe durchquert, ist ein Baum .