Binary Search in Java is used to search an element from an array. Programmers opt for Binary search over linear search when it comes to large numbers. It can be done either recursively or iteratively. The program checks the entered value with the middle element of the array. If they match the algorithm stops and position is returned. If it does not match than we have two cases.
Binary Search in Java is used to search an element from an array. Programmers opt for Binary search over linear search when it comes to large numbers. It can be done either recursively or iteratively. The program checks the entered value with the middle element of the array. If they match the algorithm stops and position is returned. If it does not match than we have two cases.Binary Search in Java is used to search an element from an array. Programmers opt for Binary search over linear search when it comes to large numbers. It can be done either recursively or iteratively.
The program checks the entered value with the middle element of the array. If they match the algorithm stops and position is returned. If it does not match than we have two cases:
This is continued until the searched element is found or it is not found. In the case when the searched element is not found the program returns the answer "Not Found".
Following is the example of Binary Search in Java:
import java.util.*; public class BinarySearch { public static void main(String[] args) { int[] intArray = new int[10]; int searchValue = 0, index; System.out.println("Enter 10 numbers"); Scanner input = new Scanner(System.in); for (int i = 0; i < intArray.length; i++) { intArray[i] = input.nextInt(); } System.out.print("Enter a number to search for: "); searchValue = input.nextInt(); index = binarySearch(intArray, searchValue); if (index != -1) { System.out.println("Found at index: " + index); } else { System.out.println("Not Found"); } } static int binarySearch(int[] search, int find) { int start, end, midPt; start = 0; end = search.length - 1; while (start <= end) { midPt = (start + end) / 2; if (search[midPt] == find) { return midPt; } else if (search[midPt] < find) { start = midPt + 1; } else { end = midPt - 1; } } return -1; } }
Enter 10 numbers:
1
2
3
4
5
6
7
8
9
10
Enter a number to search for: 5
Found at index: 4
Ads