Größten Eintrag aus Binärbaum löschen

Alpinwhite

Aktives Mitglied
Hallo, kann mir jemand helfen diese Methode nachzuvollziehen:
Sie soll den größten Eintrag eines Binärbaums löschen.

Ich verstehe das so:
-1. Es wird in der ersten if-Schleife überprüft ob die Baumwurzel null ist. Falls ja soll null zurückgegeben werden.
2. Falls eine Wurzel existiert wird In der zweiten if-Schleife wird überprüft ob rechts überhaupt etwas ist. Falls nein ist automatisch der linke Wert der Größte. Ergibt noch Sinn.
3. Dann kommt das was ich nicht ganz verstehe: Falls rechts doch ein Wert existiert (also in die else-Anweisung übergegangen wird, soll

Code:
else
p.right = delMaxR(p.right);
return p;

das hier gelten. Na gut.. Man ruft die Methode rekursiv nochmal auf und übergibt p.right, was aber meiner Meinung nach darin resultiert, dass irgendwann die erste if-Schleife greift, da p ja irgendwann null sein muss. Demnach wird einfach nur null zurückgegeben irgendwann ?

Java:
public void delMax()
{
root = delMaxR(root);
}
private static Node delMaxR(Node p)
{
if (p == null)
return null;
if (p.right == null)
p
= p.left;
else
p.right = delMaxR(p.right);
return p;
}
 

mihe7

Top Contributor
p ist nur dann null, wenn beim ersten Aufruf von delMaxR null übergeben wurde. Danach wird nämlich geprüft, ob p.right null ist.

EDIT: Deine Annahme, dass im else-Zweig irgendwann delMaxR(null) aufgerufen werden könnte, ist falsch. Denn dann wäre p.right == null und dieser Fall wird im then-Zweig behandelt.
 
Zuletzt bearbeitet:

Alpinwhite

Aktives Mitglied
Hallo, danke soweit.

Ich dachte eigentlich dass beim erneuten Methodenaufruf das p.right, das übergeben wird dann als "p" gehandelt wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaBeginner22 Wort mit der größten Länge ausgeben Java Basics - Anfänger-Themen 4
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
KogoroMori21 Größten gemeinsamen Teiler finden Java Basics - Anfänger-Themen 7
G Größten und kleinsten Wert im Array ermitteln? Java Basics - Anfänger-Themen 7
M ArrayList- größten String printen Java Basics - Anfänger-Themen 30
S kleinster Index der größten Komponente ? Java Basics - Anfänger-Themen 3
M Die drei größten Werte eines Arrays Java Basics - Anfänger-Themen 6
E Bintree größten Wert Java Basics - Anfänger-Themen 8
N Java Rekursion - Set --> Hole den 2.größten Wert Java Basics - Anfänger-Themen 3
G algorithmus zum finden der größten zahl von vieren Java Basics - Anfänger-Themen 6
J arraylist Index des größten, zweit-,dritt-,...-größten Elemtens ausgeben Java Basics - Anfänger-Themen 8
G Größten u. kleinsten Wert ermitteln Java Basics - Anfänger-Themen 14
M den kleinsten und größten Wert aus einer Datei finden! Java Basics - Anfänger-Themen 4
B größten gemeins. Teiler m. Euklidischen Algorith. nachbilden Java Basics - Anfänger-Themen 2
B 4 double Werte sind gegeben - wie bekomme ich den größten? Java Basics - Anfänger-Themen 8
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
J Array eintrag mit möglichst wenig code lösen Java Basics - Anfänger-Themen 16
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
M JComboBox ersten Eintrag leerlassen bzw. Platzhalter Java Basics - Anfänger-Themen 1
S Array Eintrag ändern Java Basics - Anfänger-Themen 6
Q-bert MYSQL-Eintrag Java Basics - Anfänger-Themen 2
V String Array gegen null-Eintrag sichern Java Basics - Anfänger-Themen 11
X XML-Eintrag an Attribute erkennen Java Basics - Anfänger-Themen 2
thobren arraylist es wird nur der letzte Eintrag angezeigt Java Basics - Anfänger-Themen 2
D javac kann trotz PATH-Eintrag nicht gefunden werden (Hello World) Java Basics - Anfänger-Themen 10
T Liste mit 2 Werten pro Eintrag Java Basics - Anfänger-Themen 9
S Einen Eintrag im Array löschen? Java Basics - Anfänger-Themen 11
B Variablen Android: Spinner-Eintrag einen versteckten numerischen Wert zuordnen und Variable übergeben Java Basics - Anfänger-Themen 3
M ArrayList || Bei Ausgabe nach jedem 10. Eintrag Zeilenumbruch Java Basics - Anfänger-Themen 7
R Den übernächsten Eintrag in der Liste vergleichen und zusammen fassen Java Basics - Anfänger-Themen 11
H Eintrag aus ArrayList entfernen Java Basics - Anfänger-Themen 7
M Properties Eintrag löschen, welcher in der JList "ausgewählt" wurde Java Basics - Anfänger-Themen 2
D OpenCSV Fehllender Konstruktor trotz import und Buildpath Eintrag Java Basics - Anfänger-Themen 1
C OOP Aus Vektor zufällig einen Eintrag wählen und in Array[][] schreiben Java Basics - Anfänger-Themen 5
B Frage zu Eintrag in txt Java Basics - Anfänger-Themen 2
B Ersten Eintrag aus einer Map bekommen Java Basics - Anfänger-Themen 11
A Eintrag einer JLIST speichern Java Basics - Anfänger-Themen 3
K Registry - Eintrag Java Basics - Anfänger-Themen 23
G Es wird immer nur der Eintrag in der Text Area angezeit Java Basics - Anfänger-Themen 6
K classpath eintrag funktioniert nicht Java Basics - Anfänger-Themen 8
M log-Eintrag Java Basics - Anfänger-Themen 7
T Eintrag aus Array löschen Java Basics - Anfänger-Themen 9
F [Map] Eintrag gezielt verändern Java Basics - Anfänger-Themen 3
M Systray Eintrag auch nach Neustart Java Basics - Anfänger-Themen 5
G TreeMap vom 1. bis letzte eintrag durchgehen Java Basics - Anfänger-Themen 17
K Startmenu Eintrag erstellen per Code Java Basics - Anfänger-Themen 3
E HSQLDB Datenbank Eintrag Java Basics - Anfänger-Themen 11
NightmareVirus Java zaubert einen Eintrag herbei :confused: Java Basics - Anfänger-Themen 2
A Wie Eintrag über AbstractListModel aus Vector entfernen? Java Basics - Anfänger-Themen 2
S Table Eintrag ,problem mit public boolean containsKey Java Basics - Anfänger-Themen 7
F Class-Path Eintrag in Manifest Java Basics - Anfänger-Themen 6
R Abfragen, ob schon ein Eintrag in der HashMap steht Java Basics - Anfänger-Themen 11
V JList(s) leer sobald ein Eintrag in 2+ Listen gewählt wird Java Basics - Anfänger-Themen 3
J Hashmap enthält immer nur den zuletzt zugeordneten Eintrag Java Basics - Anfänger-Themen 6
Y Wie greift man auf die Knoten in einem Binärbaum zu? Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
D Binärbaum Blätter finden und Ausgeben Java Basics - Anfänger-Themen 22
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
E Erste Schritte Testklasse Binärbaum Java Basics - Anfänger-Themen 10
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
L Ganzen BinärBaum ausgeben? Java Basics - Anfänger-Themen 3
L Binärbaum (Stammbaum) Java Basics - Anfänger-Themen 8
S Binärbaum in PreOrder in ArrayList speichern Java Basics - Anfänger-Themen 0
J Methoden Binärbaum, Traversierung in Array speichern Java Basics - Anfänger-Themen 18
K BinärBaum Java Basics - Anfänger-Themen 4
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
C Binärbaum mit grafischer Ausgabe Java Basics - Anfänger-Themen 0
J Binärbaum formatiert ausgeben. Java Basics - Anfänger-Themen 7
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
E Binärbaum - von rekursiv zu iterativ Java Basics - Anfänger-Themen 10
W Größtes Element im unsortierten Binärbaum Java Basics - Anfänger-Themen 7
N Generischer Binärbaum - löschen Java Basics - Anfänger-Themen 1
M Binärbaum mit parent-Zeigern Java Basics - Anfänger-Themen 1
B Methoden BinärBaum als String Knoten löschen Java Basics - Anfänger-Themen 5
S Binärbaum kopieren Java Basics - Anfänger-Themen 6
B Binärbaum mit java implementieren! Java Basics - Anfänger-Themen 5
D Binärbaum Suche Java Basics - Anfänger-Themen 5
D Binärbaum probleme Java Basics - Anfänger-Themen 4
P Binärbaum - Primärschlüssel Java Basics - Anfänger-Themen 3
X Fehler Binärbaum Java Basics - Anfänger-Themen 6
PaulG Fragen zu Binärbaum Java Basics - Anfänger-Themen 21
N Binärbaum/Implementierung Java Basics - Anfänger-Themen 9
P Binärbaum Ordnungsproblem Java Basics - Anfänger-Themen 8
P Generischer Binärbaum (compareTo Frage) Java Basics - Anfänger-Themen 4
P einen binärbaum implementieren Java Basics - Anfänger-Themen 4
M Binärbaum - Problem bei Knoten anhängen / löschen Java Basics - Anfänger-Themen 5
B Binärbaum höhe herausfinden Java Basics - Anfänger-Themen 12
L Rot Scharz Baum von Binärbaum erben Java Basics - Anfänger-Themen 9
S Klassen Aufgabe: Binärbaum überprüfen Java Basics - Anfänger-Themen 16
S Binärbaum Java Basics - Anfänger-Themen 9
S Variable Parameterliste in Binärbaum Java Basics - Anfänger-Themen 2
N BinärBaum Hilfestellung Java Basics - Anfänger-Themen 8
S Binärbaum prüfen, ob sortiert oder unsortiert Java Basics - Anfänger-Themen 6
W Binärbaum zahlen addieren Java Basics - Anfänger-Themen 7
S Binärbaum - Klasse Knoten - Methode Suchen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben