R
Reaper
Gast
Hallo
Versuche in Java einen binären Suchalgorithmus zu implementieren, weiß aber zur Zeit irgendwie nicht weiter wie ich meine Idee auch in Java effektiv umsetzen kann. Die Idee heißt doch wenn z.b. der linke Unterbaum nicht leer ist gehe um eine Stufe bergab solange ein Unterbaum keinen Verweis mehr hat. Nur wie hüpfe ich? Geht ja nicht so wie bei Listen dass ich einfach next einfügen kann. Wenn möglich bitte in iterativer Schreibweise bitte denn in rekursiver weiß ich die Lösung schon. Müssen es aber auf beide Arten zeigen.
[Edit by foobar: Codetags eingefügt]
Versuche in Java einen binären Suchalgorithmus zu implementieren, weiß aber zur Zeit irgendwie nicht weiter wie ich meine Idee auch in Java effektiv umsetzen kann. Die Idee heißt doch wenn z.b. der linke Unterbaum nicht leer ist gehe um eine Stufe bergab solange ein Unterbaum keinen Verweis mehr hat. Nur wie hüpfe ich? Geht ja nicht so wie bei Listen dass ich einfach next einfügen kann. Wenn möglich bitte in iterativer Schreibweise bitte denn in rekursiver weiß ich die Lösung schon. Müssen es aber auf beide Arten zeigen.
Code:
class IntTree{
private IntNode root = null;
//Methode zum Einfügen eines Baumes
public void insert(int val){
if(root == null)
root = new IntNode(new Integer(val)); //kreiert obersten Knoten --> Anker
else
insert (root, new IntNode(new Integer(val))) //ansonsten verweist es
//auf Methode insert
}
private IntNode insert(IntNode treeNode, IntNode aNode) {
if(aNode.val < treeNode.val) //--> gehe in linken Unterbaum
//wenn der linke Unterbaum leer ist
if(treeNode.left == null)
treeNode.left = aNode;
else //if treeNode.left != null
do{
hier weiß ich irgendwie nicht weiter
:?:
}while (treeNode.left != null)
if(a.val > treeNode.val) //--> gehe in rechten Unterbaum
if(a.val == treeNode.val){ //--> tue nichts
IO.write("Dieser Wert stimmt genau mit dem der Wuzel überein --> ");
IO.write("es gibt keine Hierachien.");
return null;
}
}
}
[Edit by foobar: Codetags eingefügt]