We usually need to search a value over an array of data. For example, searching whether a book is in the library in a library indexing system. However, examining each element in the array to find the value is too time consuming for a large array.
Binary search provides a much faster way to solve the searching problem.
Here's how it works. In order to perform binary search, the array to be searched should be first sorted. We start by looking at the middle component. If the value it holds is too high, go to the middle of the bottom half of the array and look again. If the middle components's stored value was too low, go to the middle of the top half instead.