update: implement search recursiv

This commit is contained in:
Sobottasgithub 2026-02-08 19:34:21 +01:00
parent cc226739a3
commit 86761e75b4
2 changed files with 55 additions and 0 deletions

View File

@ -7,6 +7,37 @@ public class BinaryTree {
insert(content);
}
public boolean search(int value) {
if (rootNode == null) {
return false;
}
return searchRecursiv(rootNode, value);
}
private boolean searchRecursiv(Node node, int value) {
int content = node.getContent();
if (value == content) {
return true;
} else if (value > content) {
Node leftNode = node.getLeftNode();
if (leftNode == null) {
return false;
}
return searchRecursiv(leftNode, value);
} else if (value < content) {
Node rightNode = node.getRightNode();
if (rightNode == null) {
return false;
}
return searchRecursiv(rightNode, value);
} else {
System.out.println("Something went wrong!");
return false;
}
}
public void insert(int content) {
if (rootNode == null) {
Node newNode = new Node(content);

View File

@ -6,5 +6,29 @@ public class Main {
binaryTree.insert(22);
binaryTree.insert(23);
binaryTree.insert(55);
binaryTree.insert(72);
binaryTree.insert(1);
binaryTree.insert(7);
binaryTree.insert(3);
binaryTree.insert(8);
binaryTree.insert(16);
System.out.println(binaryTree.search(42));
System.out.println(binaryTree.search(23));
System.out.println(binaryTree.search(22));
System.out.println(binaryTree.search(23));
System.out.println(binaryTree.search(55));
System.out.println(binaryTree.search(72));
System.out.println(binaryTree.search(1));
System.out.println(binaryTree.search(7));
System.out.println(binaryTree.search(3));
System.out.println(binaryTree.search(8));
System.out.println(binaryTree.search(16));
// Test values not in tree
System.out.println(binaryTree.search(2));
System.out.println(binaryTree.search(44));
System.out.println(binaryTree.search(100));
}
}