diff --git a/BinarySearch.java b/BinarySearch.java new file mode 100644 index 0000000..179a9e9 --- /dev/null +++ b/BinarySearch.java @@ -0,0 +1,36 @@ +public class BinarySearch { + + // Time Complexity: O(log n) + // Space Complexity: O(1) + // Note: Array must be sorted + + public static int binarySearch(int[] arr, int target) { + int left = 0, right = arr.length - 1; + + while (left <= right) { + int mid = left + (right - left) / 2; + + if (arr[mid] == target) { + return mid; + } else if (arr[mid] < target) { + left = mid + 1; + } else { + right = mid - 1; + } + } + return -1; + } + + public static void main(String[] args) { + int[] arr = {2, 4, 6, 8, 10}; + int target = 8; + + int result = binarySearch(arr, target); + + if (result != -1) { + System.out.println("Element found at index " + result); + } else { + System.out.println("Element not found "); + } + } +} diff --git a/README.md b/README.md index dfee3ea..f4b9f6b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ # Programming_Hactoberfest23 New Contribution Repository https://github.com/Nikhil-2002/hacktoberfest2025-contributions + +### Java Algorithms +- Binary Search (BinarySearch.java) +