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:
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Configuring a DataSource Programmatically in Spring Boot
Java Program to Implement Bit Array
Introduction to Spring Data REST
DistinctBy in the Java Stream API
Java Program to Implement Graph Coloring Algorithm
A Guide to JUnit 5
Working With Maps Using Streams
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Guava Collections Cookbook
Java Program to Find Nearest Neighbor for Static Data Set
Lớp Collectors trong Java 8
Sending Emails with Java
Beans and Dependency Injection
Automatic Property Expansion with Spring Boot
Converting Iterator to List
Java Program to Implement Fermat Factorization Algorithm
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Java Program to Perform Deletion in a BST
A Guide to Spring Cloud Netflix – Hystrix
Java Program to Implement Sorted Circular Doubly Linked List
Remove the First Element from a List
Java Program to Perform Naive String Matching
Java Program to Implement Skip List
Collect a Java Stream to an Immutable Collection
Guide to the Java Clock Class
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Ways to Iterate Over a List in Java
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Spring WebFlux Filters
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins