Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions Searching/exponential_search.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Java program to
// find an element x in a
// sorted array using
// Exponential search.
import java.util.Arrays;

class exponential_search
{
// Returns position of
// first occurrence of
// x in array
static int exponentialSearch(int arr[],int n, int x)
{
// If x is present at first location itself
if (arr[0] == x)
return 0;

// Find range for binary search by
// repeated doubling
int i = 1;
while (i < n && arr[i] <= x)
i = i*2;

// Call binary search for the found range.
return Arrays.binarySearch(arr, i/2,Math.min(i, n-1), x);
}

// Driver code
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);
}
}