From 86761e75b48152f88e203498afd6d2f181b25266 Mon Sep 17 00:00:00 2001 From: Sobottasgithub Date: Sun, 8 Feb 2026 19:34:21 +0100 Subject: [PATCH] update: implement search recursiv --- BinaryTree.java | 31 +++++++++++++++++++++++++++++++ Main.java | 24 ++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/BinaryTree.java b/BinaryTree.java index b1cf257..779b145 100644 --- a/BinaryTree.java +++ b/BinaryTree.java @@ -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); diff --git a/Main.java b/Main.java index c413861..c960159 100644 --- a/Main.java +++ b/Main.java @@ -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)); } }