Hallo! Ich habe hier eine Übung in der Uni und bin ein bisschen ratlos.
Gegeben ist ein Binärbaum. Dieser hat also eine Wurzel (Zahl) und jede Wurzel kann bis zu zwei Nachfolgern (ebenfalls Zahlen) haben.
Der Baum ist geordnet. Das heißt, der linke Nachfolger ist jeweils kleiner, der rechte größer.
Ein Konten dieses Baumes wird also so implementirert.
[CODE lang="java" title="Konstruktor TreeNode"]public TreeNode(int val) {
this.value = val;
this.left = null;
this.right = null;
}[/CODE]
Das Ganze läuft unter dem Themengebiet Rekursion. Eine Teilaufgabe war es also, eine rekursive simpleSearch-Methode zu schreiben, die überprüft,
ob eine Zahl in dem Baum vorkommt oder nicht. Hier ist mein Ansatz.
[CODE lang="java" title="simpleSearch"]public boolean simpleSearch(int x) {
if(x == value) {return true;}
else if(x < value){left.simpleSearch(x);}
else if(x > value){right.simpleSearch(x);}
else {return false;}
}[/CODE]
Jetzt tritt aber der Fehler auf: "This method must return a result of type boolean"
Augenscheinlich liefert meine Methode also nicht in jedem Fall einen boolean-Wert zurück.
Woran liegt das und wie lässt es sich beheben?
Vielen Dank schonmal im Vorraus!
Gegeben ist ein Binärbaum. Dieser hat also eine Wurzel (Zahl) und jede Wurzel kann bis zu zwei Nachfolgern (ebenfalls Zahlen) haben.
Der Baum ist geordnet. Das heißt, der linke Nachfolger ist jeweils kleiner, der rechte größer.
Ein Konten dieses Baumes wird also so implementirert.
[CODE lang="java" title="Konstruktor TreeNode"]public TreeNode(int val) {
this.value = val;
this.left = null;
this.right = null;
}[/CODE]
Das Ganze läuft unter dem Themengebiet Rekursion. Eine Teilaufgabe war es also, eine rekursive simpleSearch-Methode zu schreiben, die überprüft,
ob eine Zahl in dem Baum vorkommt oder nicht. Hier ist mein Ansatz.
[CODE lang="java" title="simpleSearch"]public boolean simpleSearch(int x) {
if(x == value) {return true;}
else if(x < value){left.simpleSearch(x);}
else if(x > value){right.simpleSearch(x);}
else {return false;}
}[/CODE]
Jetzt tritt aber der Fehler auf: "This method must return a result of type boolean"
Augenscheinlich liefert meine Methode also nicht in jedem Fall einen boolean-Wert zurück.
Woran liegt das und wie lässt es sich beheben?
Vielen Dank schonmal im Vorraus!