Meine Aufgabe besteht darin, die Summe aller Knoten in jeder Verzweigung in einem binären Suchbaum mithilfe der Rekursion zu ermitteln und sie mit einem Benutzereingabewert zu vergleichen. Wenn der Benutzereingabewert mit einer Summe aus einem der Zweige übereinstimmt, sollte die Funktion den Wert true zurückgeben.Summe jeder Verzweigung in einer binären Suchstruktur
Mit anderen Worten, die Summe von 24 + 32 + 21 + 14 = 91. Die Summe von 32 + 24 + 28 + 25 = 109. Die Summe von 32 + 24 + 28 + 31 = 115 usw. Ich habe viele verschiedene Methoden ausprobiert, kann aber nicht herausfinden, wie man jeden Zweig genau durchläuft. Bis jetzt konnte ich nur die Summe der am weitesten links liegenden Zweige durchqueren.
Ich verwende die Methode des Subtrahierens jedes Knotens vom Benutzereingabewert. Wenn der Wert an einem Leaf-Knoten 0 erreicht, stimmt die Benutzereingabe eindeutig mit der Knotensumme dieses Zweiges im Baum überein.
Die besonderen Punkte der Schwierigkeit für mich sind, wenn der Zweig divergiert, wie an den Knoten [24] und [28]. Ich bekomme eindeutig etwas sehr einfaches falsch, aber ich kann es nicht herausfinden.
Unten ist der komprimierte Code, den ich bisher geschrieben habe, in Form von zwei Begleitmethoden (auch für die Zuweisung erforderlich).
Was mache ich falsch, und wie kann ich meinen Code reparieren, um die Summe der einzelnen Zweige auf dem Baum zu finden? Vielen Dank im Voraus. Ich entschuldige mich für Fehler in meinem Format oder fehlende Informationen.
fehlende Informationen: Bitte lesen Sie, wie Sie eine [mcve] (http://stackoverflow.com/help/mcve) machen. Das Code-Snippet, das du zeigst, ist zu minimal, weil man es nicht kopieren/einfügen/kompilieren und ausführen kann ... – user463035818