Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The problem The code does not work on certain data sets. Fix the sets but do not alter the binary search algorithm. /** * Binary

The problem

The code does not work on certain data sets. Fix the sets but do not alter the binary search algorithm.

/** * Binary search to fix data sets issues */ import java.util.Scanner; public class BinarySearch { /** Use binary search to find the key in the list */ public static int binarySearch(int[] list, int key) { int low = 0; int high = list.length - 1;

while (high >= low) { int mid = (low + high) / 2; if (key < list[mid]) high = mid - 1; else if (key == list[mid]) return mid; else low = mid + 1; }

return -low - 1; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int set = in.nextInt(); int key = in.nextInt(); int[][] datasets = { {}, {1,2,3,5,8,13,21,34,55,89}, {-81, -72, -63, -54, -45, -36, -27, -18, -9, 0}, {21, 34, 72, -63, 8, 5, -13, -27, -18, 1, 0, 2} }; System.out.println("Searching for key " + key + " in data set " + set + " returned " + binarySearch(datasets[set], key));

} }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Next Generation Databases NoSQLand Big Data

Authors: Guy Harrison

1st Edition

1484213300, 978-1484213308

More Books

Students also viewed these Databases questions