HomeInformationalDifference Between Linear Search and Binary Search

Difference Between Linear Search and Binary Search

Difference Between Linear Search and Binary Search

Difference Between Linear Search and Binary Search: When it comes to the search operation in programming, two names come in mind. Linear search and binary search. Some people confuse in these terms. So let’s see what are the difference between liner search and binary search?

What is Linear search?

Linear search is a simple searching algorithm. In this type of search, the searching process occurs from one item after the other. Means this search algorithm checks every item present and checks for a matching item on that.

Searching starts from the first item. If the item does not match, then it moves to the second item and does the same. It continues the same process until it finds the match.

In a linear search, the efficiency of the algorithm determined by the number of comparisons to search an element or time consumption in the process. If the element we are searching for, is in the first position of the data structure, then it requires only one comparison. In this case, the efficiency will be good because it takes less time to find the item. When the element we are searching for, is in the last position, then it requires an N number (number of data items) of comparisons to find the element.

The pseudocode of linear search algorithms look like this –

procedure linear_search (list, value)

 

for each item in the list

if match item == value

return the item’s location

end if

end for

end procedure

Also, read – DDR3 vs DDR3L and DDR4 vs DDR4L | Difference between DDR3 and DDR3L

What is a Binary search?

The binary search algorithm is faster as compared to a linear search. To perform this search, the data collection should be in the sorted form. The search algorithm finds the item by start comparing from the middle most item of the collection.

To determine the middle of any collection, it uses a formula.

Mid = low + (high – low) / 2

Low and high refers to the position number (Like 0, 1, 2, 3, 4 etc) which starts from the left.

If a match occurs in the middle position, then the index of the item is returned. If the middle item is greater than the searched item, then it searches in the sub-array to the left of the middle item. Otherwise, it searches in the sub-array to the right of the middle item. With each search, the number of items to search decreases each time. This same process continues on the sub-array then sub-array, until the size of the sub-array reduces to zero.

The pseudocode of binary search algorithms look like this –

Procedure binary_search

A ← sorted array

n ← size of an array

x ← value to be searched

 

Set lowerBound = 1

Set upperBound = n

 

while x not found

if upperBound < lowerBound

EXIT: x does not exist.

 

set midPoint = lowerBound + ( upperBound – lowerBound ) / 2

 

if A[midPoint] < x

set lowerBound = midPoint + 1

 

if A[midPoint] > x

set upperBound = midPoint – 1

 

if A[midPoint] = x

EXIT: x found at location midPoint

end while

end procedure

Also, read – Computer Full Form | Computer Related Full Form

Difference between linear search and binary search

As of now, we have seen some of the basic things related to both of these searches. Based on that you may differentiate some points as well. But let’s try to grab most and see what are the major difference between linear search and binary search.

Linear search

Binary search

In a linear search, it scans one item at a time in a sequential basis without jumping to any item

Binary search divides the whole array to half and starts searching. If not found then it searches in the left or right sub-array

Input data need not to be sorted in linear search

Input data needs to be sorted in before starting the binary search

Also called sequential search

Also called logarithmic search or half-interval search

Time complexity is O(N)

Time complexity is O(log2N)

Best case is to find the element in the first position

Best case is to find the element in the middle position

Take more time

Take less time

Less efficient

More efficient

Less complex

More complex

 

Conclusion

Linear search and binary search both are used to search an element in a data structure such as an array. Of course, binary search is more efficient than the linear search but the elements should be shorted in the array. These are some of the difference between linear search and binary search you may consider. Depending on the requirements, you can choose one of them.