Vor einem halben Jahrzehnt saß ich in einer Klasse für Datenstrukturen, in der der Professor zusätzliche Anrechnungspunkte anbot, wenn jemand einen Baum ohne Verwendung von Rekursion, Stapel, Warteschlange usw. (oder einer ähnlichen Datenstruktur) und nur ein paar Zeigern durchqueren konnte. Ich fand eine aus meiner Sicht offensichtliche Antwort auf diese Frage, die schließlich vom Professor akzeptiert wurde. Ich saß in einer diskreten Matheklasse mit einem anderen Professor in derselben Abteilung - und er behauptete, es sei unmöglich, einen Baum ohne Rekursion, Stapel, Warteschlange usw. zu durchqueren, und meine Lösung sei ungültig.
Also ist es möglich oder unmöglich? Warum oder warum nicht?
Bearbeiten: Um etwas Klarheit zu schaffen, habe ich dies in einem Binärbaum implementiert, der drei Elemente enthält - die auf jedem Knoten gespeicherten Daten und Zeiger auf zwei untergeordnete Elemente. Meine Lösung konnte mit wenigen Änderungen auf n-fache Bäume ausgeweitet werden.
Mein Lehrer für Datenstrukturen stellte keine Einschränkungen gegen das Mutieren des Baums, und tatsächlich stellte ich später fest, dass seine eigene Lösung darin bestand, die untergeordneten Zeiger zu verwenden, um den Baum auf seinem Weg nach unten wieder nach oben zu zeigen. Mein diskreter Mathematikprofessor sagte, jede Mutation eines Baums bedeute, dass es sich nicht mehr um einen Baum gemäß der mathematischen Definition eines Baums handele. Seine Definition würde auch Hinweise auf Eltern ausschließen - was dem Fall entsprechen würde, in dem ich ihn oben gelöst habe.