diff --git a/Search/Exponential search b/Search/Exponential search new file mode 100644 index 0000000..0086cbd --- /dev/null +++ b/Search/Exponential search @@ -0,0 +1,29 @@ +import java.util.Arrays; + +class exps +{ + static int exponentialSearch(int arr[], + int n, int x) + { + if (arr[0] == x) + return 0; + int i = 1; + while (i < n && arr[i] <= x) + i = i*2; + return Arrays.binarySearch(arr, i/2, + Math.min(i, n-1), x); + } + + public static void main(String args[]) + { + int arr[] = {2, 3, 4, 10, 40}; + int x = 10; + int result = exponentialSearch(arr, + arr.length, x); + + System.out.println((result < 0) ? + "Element is not present in array" : + "Element is present at index " + + result); + } +}