Binärer Suchbaum Nachfolger

Mariexshhx

Bekanntes Mitglied
Java:
 Node successor (Node x) {
if(find(x)==null){
    return null;
}
if (x.right!=null)
return minimum(x.right);
Node y = x.parent;
while (y!=null && x==y.rechts) {
x=y; y=y.parent;
}
return y;
}

Hallo ich möchte wenn die while schleife abbricht, also wenn es keinen Nachfolger gibt null returnen und nicht y ist das möglich?
 

KonradN

Super-Moderator
Mitarbeiter
Dann formuliere die Bedingung "es gibt keinen Nachfolger" und füge das einfach ein:
if (es gibt keinen Nachfolger) return null

Wenn die Bedingung y==null ist, dann musst Du nichts machen, denn da Du y zurück gibst wäre es in diesem Fall ja null.

Die Bedingung in der Schleife weg lassen würde zu einem Fehler führen, wenn wenn y null iistm, dann ist ein Zugriff auf y.parent nicht möglich.
 

Mariexshhx

Bekanntes Mitglied
Dann formuliere die Bedingung "es gibt keinen Nachfolger" und füge das einfach ein:
if (es gibt keinen Nachfolger) return null

Wenn die Bedingung y==null ist, dann musst Du nichts machen, denn da Du y zurück gibst wäre es in diesem Fall ja null.

Die Bedingung in der Schleife weg lassen würde zu einem Fehler führen, wenn wenn y null iistm, dann ist ein Zugriff auf y.parent nicht möglich.
stimmt wenn die while schleife abbricht ist y== null und es wird dann auch null zurückgegeben dann muss ich eig nichts ändern.
 

Ähnliche Java Themen

Neue Themen


Oben