# Difference Between Linear Search and Binary Search

Computer ProgrammingProgrammingMiscellaneous

In this post, we will understand the difference between Linear Search and Binary Search.

## Linear Search

• It searches through the array/list from the beginning to the end.

• Every element in the array/list is compared to the element that needs to be searched.

• It goes till the end of the list.

• If the element is found, a message is returned, with the index.

• The elements don't need to be arranged in a specific/sorted order.

• It can be implemented on any linear data structure like an array, linked list.

• It is based on sequential approach.

• It is preferable to use it with small-sized data sets.

• It is less efficient when the size of the array/list is large.

• The worst- case complexity to find an element is O9n) where ‘n’ is the number of elements.

• The best-case complexity to find an element is O(1).

• It can be used with single and multidimensional array.

## Binary Search

• The array to perform binary search on, should be sorted.

• The position of the element to be searched is found by first finding the middle element.

• The middle element is the average of the first index and last index of the array/list.

• It can only be used on data structures that have two-way traversal.

• It is based on divide and conquer approach.

• It is used with large sized datasets.

• It is more efficient on large datasets.

• The worst-case complexity is O(log2n), where ‘n’ is size of the array.

• The best-case complexity to find an element is O(1).

• It can be implemented on a multidimensional array only.