Heim  >  Artikel  >  Java  >  Was sind die rekursiven und nicht rekursiven Durchlaufmethoden des Java-Binärbaums?

Was sind die rekursiven und nicht rekursiven Durchlaufmethoden des Java-Binärbaums?

WBOY
WBOYnach vorne
2023-04-24 13:04:141324Durchsuche

Vorwort

Die Durchquerungsmethoden von Binärbäumen sind in Durchquerung vor der Bestellung, Durchquerung mittlerer Ordnung, nachfolgende Durchquerung und Durchquerung der Ebenenordnung unterteilt.

Was sind die rekursiven und nicht rekursiven Durchlaufmethoden des Java-Binärbaums?

1. Rekursive Durchquerung

Für die Rekursion müssen wir über die drei Elemente der Rekursion sprechen: Vorbestellungsdurchquerung als Beispiel#🎜 🎜#

Rekursive Eingabeparameter und Rückgabewerte

Da der Wert des Vorbestellungs-Traversalknotens gedruckt werden soll, muss der Wert des Knotens in der Liste übergeben werden Im Parameter ist es nicht erforderlich, bei der Verarbeitung von Daten einen Wert zurückzugeben, daher lautet der Rückgabetyp der rekursiven Funktion wie folgt:

public void preorder(TreeNode root, List<Integer> result)
#🎜🎜 #Bestimmen Sie die Beendigungsbedingung

Während des Rekursionsprozesses wird davon ausgegangen, dass die Rekursion beendet ist. Natürlich ist der aktuell durchquerte Knoten leer, sodass die Rekursion dieser Ebene kurz vor dem Ende steht. Wenn also der aktuell durchquerte Knoten leer ist, kehren Sie einfach direkt zurück Bei der Rekursion wird zuerst der Wert des mittleren Knotens verwendet. Der Code lautet wie folgt:

if (root == null) return;
rree

2. Einheitliche Iterationsmethode des Binärbaums# 🎜🎜#

result.add(root.val);
preorder(root.left, result);
preorder(root.right, result);

Das obige ist der detaillierte Inhalt vonWas sind die rekursiven und nicht rekursiven Durchlaufmethoden des Java-Binärbaums?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen