BinarySearchAlgorithm
BinarySearchAlgorithm
Code: J1.S.P0006
LAB211Assignment LOC:
Slot(s):
40
1
Title
Binary search algorithm.
Background Context
Generally, to find a value in unsorted array, we should look through elements of an array one by one, until searched
value is found. In case of searched value is absent from array, we go through all elements. In average, complexity of
such an algorithm is proportional to the length of the array.
Situation changes significantly, when array is sorted. If we know it, random access capability can be utilized
very efficiently to find searched value quick. Cost of searching algorithm reduces to binary logarithm of the array
length. For reference, log2(1 000 000) ≈ 20. It means, that in worst case, algorithm makes 20 steps to find a value in
sorted array of a million elements or to say, that it doesn't present it the array.
Program Specifications
Design a program that allows users to input the number of array. Generate random integer in number range
input. After that allows users to input search number. Display sorted array and index of search number in array.
Function details:
1. Display a screen to prompt users to input a positive decimal number.
o Users run the program, display a screen to ask users to enter a number of array and a search number.
o Sort array
Guidelines
Algorithm
Algorithm is quite simple. It can be done either recursively or iteratively:
Now we should define, when iterations should stop. First case is when searched element is found. Second one is when
subarray has no elements. In this case, we can conclude, that searched value doesn't present in the array.
Examples
Example 1. Find 6 in {-1, 5, 6, 18, 19, 25, 46, 78, 102, 114}.
Example 2. Find 103 in {-1, 5, 6, 18, 19, 25, 46, 78, 102, 114}.