Given a sorted array A of size N, along with an integer target K, implement Binary Search to find the target K in the given array.Input FormatThe first line of input contains an integer N - the size of an array and target K. The second line contains the elements of the array.Output FormatFor each iteration of Binary Search, print the values of low, high, and mid. At the end, if the target K is found in the array, print "True" otherwise, print "False".Constraints1 <= N <= 201 <= A[i] <= 103ExampleInput 19 121 4 6 7 10 11 12 20 23Output 10 8 45 8 6TrueInput 210 213 5 8 11 15 17 19 23 26 30Output 20 9 45 9 75 6 56 6 6False
Question
Given a sorted array A of size N, along with an integer target K, implement Binary Search to find the target K in the given array.Input FormatThe first line of input contains an integer N - the size of an array and target K. The second line contains the elements of the array.Output FormatFor each iteration of Binary Search, print the values of low, high, and mid. At the end, if the target K is found in the array, print "True" otherwise, print "False".Constraints1 <= N <= 201 <= A[i] <= 103ExampleInput 19 121 4 6 7 10 11 12 20 23Output 10 8 45 8 6TrueInput 210 213 5 8 11 15 17 19 23 26 30Output 20 9 45 9 75 6 56 6 6False
Solution
Here is a Python solution for the problem:
def binary_search(A, K):
low = 0
high = len(A) - 1
while low <= high:
mid = (low + high) // 2
print(low, high, mid)
if A[mid] == K:
return True
elif A[mid] < K:
low = mid + 1
else:
high = mid - 1
return False
# Test the function
N, K = map(int, input().split())
A = list(map(int, input().split()))
print(binary_search(A, K))
This function works by repeatedly dividing the search interval in half. If the value of the search key is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise, narrow it to the upper half. Repeatedly check until the value is found or the interval is empty.
Similar Questions
Alex wants to create a program to search a target value in a sorted array. The program should input the array size and elements, as well as the target value. Utilizing binary search, it should determine if the target is present, and if so, provide the index. If not, display a message indicating its absence.Assist Alex in completing the program efficiently.Input format :The first line of input consists of an integer N, representing the size of the sorted array.The second line consists of N space-separated integers, the elements of the sorted array in ascending order.The third line consists of an integer target, the value to search for in the array.Output format :If the target is present in the array, print "The target value X is present at index Y", where X is the target element and Y is the index position (index starts from 0).If the target is not present, print "The target value X is not present in the array", where X is the target element.
Program to demonstrate the use of Binary Search to search a given element in a sorted array in ascending order.
The following steps are required to implement the binary search for an array sorted in ascending order.1) 1)Initialize Pointers: - Set two pointers, `low` and `high`, initially pointing to the start and end of the array, respectively. 2) Calculate Midpoint: - Calculate the midpoint index using the formula `mid = (low + high) // 2`. 3) Compare Midpoint Element: - Compare the element at the midpoint with the target element you are searching for: - If the midpoint element is equal to the target, the search is successful, and you can return the index. - If the midpoint element is less than the target, update `low` to `mid + 1` and continue the search in the right half. - If the midpoint element is greater than the target, update `high` to `mid - 1` and continue the search in the left half. 4) Repeat: - Repeat steps 3-4 until the `low` pointer is greater than the `high` pointer. This means the search range has become empty. 5) Return Result: - If the target element is found, return its index. If the target is not found, return a sentinel value (e.g.,-1) to indicate that the element is not in the array.Which steps would require modification if the array were sorted in descending order? Step 2 Step 4 Steps 2 and 4 No modification in steps
Sharon is working on a sorted array of integers and wants to determine the count of elements that are less than or equal to a specific key. As her supportive programmer, you are tasked with creating a program to assist Sharon in counting the number of elements that meet this criterion (less than or equal to the given key) using the binary search technique.Input format :The first line of input consists of an integer N, representing the size of the array.The second line consists of N space-separated integers, the elements of the array.The third line consists of an integer key, the value to search for in the array.Output format :The output prints a single integer, representing the count of elements that are less than or equal to the given key.
You are given a sorted array of integers. Write a program that implements a binary search algorithm to find the element with the minimum difference from the given target.Note: This question was asked in CTS coding test.Input format :The first line input consists of an integer N, representing the number of array elements.The second line consists of N space-separated integers, representing the sorted array elements.The third line consists of an integer representing the target element.Output format :The output prints an integer representing the element with the minimum difference from the given target.
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.