Ich weiß, dass es hier viele Fragen zu Breadth First Search vs. Tiefensuche gibt, aber ich denke, dass meine Situation ein wenig anders ist.Breite zuerst oder Tiefe zuerst Suche nach einem Kind in einer bestimmten Tiefe zu finden?
Ich habe einen verwurzelten Baum, in dem jeder Knoten 0, 1 oder 2 Kinder (mit der erwarteten Zahl 1) haben kann. Angesichts einer großen Zahl n
, möchte ich einen Pfad durch den Baum der Länge n
finden.
Es scheint klar, dass Tiefe zuerst sollte der beste Weg, dies zu tun, aber ich bin mir nicht so sicher. Die Breite des Baumes ist sehr klein, was normalerweise ein Grund ist, die Breite der ersten Suche zu verwenden. Wenn ich Tiefensuche verwende, könnte ich am Ende in einen Teilbaum gehen, dessen Höhe sehr nahe bei n
liegt, aber kleiner als n
. In diesem Fall werde ich viel Zeit verschwenden einen Baum durchquert, die mich nicht möglicherweise die Antwort geben kann ich
Ich würde vorschlagen, Sie betrachten iterative Vertiefung Tiefe erste Suche. –
möchten Sie vielleicht https://StackOverflow.com/questions/3332947/when-is-it-practical-to-use-dfs-vs-bfs – marvel308
@ marvel308 Ich habe, und ich habe auf was ich herausgefunden habe da in der Frage. –