This is a java program to search sequence using binary search. This is a simple extension of binary search algorithm to find an element.
Here is the source code of the Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
package com.sanfoundry.combinatorial; import java.util.Random; import java.util.Scanner; public class BinarySearchSequence { public static void searchSequence(int[] array, int[] search) { int first, last, middle; first = 0; last = array.length - 1; boolean flag = true; for (int i = 0; i < search.length; i++) { middle = (first + last) / 2; while (first <= last && flag == true) { if (array[middle] < search[i]) { first = middle + 1; } else if (array[middle] == search[i]) { System.out.println(search[i] + " found at location " + (middle + 1) + "."); first = 0; last = array.length - 1; break; } else { last = middle - 1; } middle = (first + last) / 2; } if (first > last) { System.out .println(search[i] + " is not present in the list."); flag = false; } } } public static void main(String args[]) { int c, n, search[], array[]; Scanner in = new Scanner(System.in); System.out.println("Enter number of elements: "); n = in.nextInt(); array = new int[n]; Random rand = new Random(); for (c = 0; c < n; c++) { array = rand.nextInt(100); } System.out.println("Elements: "); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println("\nEnter length of sequence to find: "); int m = in.nextInt(); search = new int[m]; System.out.println("Enter the sequence to find: "); for (int i = 0; i < m; i++) { search[i] = in.nextInt(); } searchSequence(array, search); in.close(); } }
Output:
$ javac BinarySearchSequence.java $ java BinarySearchSequence Enter number of elements: 10 Elements: 68 45 85 63 7 48 44 93 10 20 Enter length of sequence to find: 2 Enter the sequence to find: 7 48 7 found at location 5. 48 found at location 6. Enter number of elements: 10 Elements: 60 52 44 55 55 25 34 97 24 18 Enter length of sequence to find: 3 Enter the sequence to find: 2 3 4 2 is not present in the list. 3 is not present in the list. 4 is not present in the list.
Related posts:
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Java Program to Implement Patricia Trie
Java Stream Filter with Lambda Expression
Java Program to Implement Max-Flow Min-Cut Theorem
Java Program to Implement Ternary Search Algorithm
Java Program to Implement Bloom Filter
Java Program to Implement Hash Tables with Quadratic Probing
Functional Interfaces in Java 8
Spring Boot - OAuth2 with JWT
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Java Program to Perform Quick Sort on Large Number of Elements
How to use the Spring FactoryBean?
Java Program to Implement Expression Tree
Java Program to Implement Binary Heap
Debug a JavaMail Program
Removing all duplicates from a List in Java
Intro to the Jackson ObjectMapper
Serverless Functions with Spring Cloud Function
Spring 5 WebClient
Giới thiệu Google Guice – Injection, Scope
Programmatic Transaction Management in Spring
Java Program to Check if a Matrix is Invertible
Count Occurrences of a Char in a String
Using JWT with Spring Security OAuth (legacy stack)
Kuhn's Algorithm for Maximum Bipartite Matching
Batch Processing with Spring Cloud Data Flow
ETL with Spring Cloud Data Flow
Spring’s RequestBody and ResponseBody Annotations
Java Program to Implement Heap Sort Using Library Functions
Extract links from an HTML page
The Modulo Operator in Java
Java Deep Learning Essentials - Yusuke Sugomori