0% found this document useful (0 votes)
7 views8 pages

Search-Linear and Binary

The document explains the concept of search and details two search algorithms: Linear Search and Binary Search. Linear Search has a time complexity of O(n) and involves comparing the search element with each element in a list sequentially, while Binary Search has a time complexity of O(log n) and requires a sorted list, comparing the search element with the middle element and narrowing down the search space. Both algorithms include step-by-step implementations and example code in C.

Uploaded by

vishaltanwar572
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views8 pages

Search-Linear and Binary

The document explains the concept of search and details two search algorithms: Linear Search and Binary Search. Linear Search has a time complexity of O(n) and involves comparing the search element with each element in a list sequentially, while Binary Search has a time complexity of O(log n) and requires a sorted list, comparing the search element with the middle element and narrowing down the search space. Both algorithms include step-by-step implementations and example code in C.

Uploaded by

vishaltanwar572
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

What is Search?

Search is a process of finding a value in a list of values. In other words, searching is the process of locating given
value position in a list of values.

Linear Search Algorithm (Sequential Search


Algorithm)
Linear search algorithm finds a given element in a list of elements with O(n) time complexity where n is total
number of elements in the list. This search process starts comparing search element with the first element in the list.
If both are matched then result is element found otherwise search element is compared with the next element in the
list. Repeat the same until search element is compared with the last element in the list, if that last element also
doesn't match, then the result is "Element not found in the list". That means, the search element is compared with
element by element in the list.

Linear search is implemented using following steps...

 Step 1 - Read the search element from the user.


 Step 2 - Compare the search element with the first element in the list.
 Step 3 - If both are matched, then display "Given element is found!!!"
and terminate the function
 Step 4 - If both are not matched, then compare search element with
the next element in the list.
 Step 5 - Repeat steps 3 and 4 until search element is compared with
last element in the list.
 Step 6 - If last element in the list also doesn't match, then display
"Element is not found!!!" and terminate the function.
#include<stdio.h>
int main(){
int list[20],size,i,sElement;

printf("Enter size of the list: ");


scanf("%d",&size);

printf("Enter any %d integer values: ",size);


for(i = 0; i < size; i++)
scanf("%d",&list[i]);

printf("Enter the element to be Search: ");


scanf("%d",&sElement);

// Linear Search Logic


for(i = 0; i < size; i++)
{
if(sElement == list[i])
{
printf("Element is found at %d index", i);
break;
}
}
if(i == size)
printf("Given element is not found in the list!!!");
return 0;
}

Binary Search Algorithm


Binary search algorithm finds a given element in a list of elements with O(log n) time complexity where n is
total number of elements in the list. The binary search algorithm can be used with only a sorted list of elements. That
means the binary search is used only with a list of elements that are already arranged in an order. The binary search
can not be used for a list of elements arranged in random order. This search process starts comparing the search
element with the middle element in the list. If both are matched, then the result is "element found". Otherwise, we
check whether the search element is smaller or larger than the middle element in the list. If the search element is
smaller, then we repeat the same process for the left sublist of the middle element. If the search element is larger,
then we repeat the same process for the right sublist of the middle element. We repeat this process until we find the
search element in the list or until we left with a sublist of only one element. And if that element also doesn't match
with the search element, then the result is "Element not found in the list".

Binary search is implemented using following steps...

 Step 1 - Read the search element from the user.


 Step 2 - Find the middle element in the sorted list.
 Step 3 - Compare the search element with the middle element in the
sorted list.
 Step 4 - If both are matched, then display "Given element is found!!!"
and terminate the function.
 Step 5 - If both are not matched, then check whether the search
element is smaller or larger than the middle element.
 Step 6 - If the search element is smaller than middle element, repeat
steps 2, 3, 4 and 5 for the left sublist of the middle element.
 Step 7 - If the search element is larger than middle element, repeat
steps 2, 3, 4 and 5 for the right sublist of the middle element.
 Step 8 - Repeat the same process until we find the search element in
the list or until sublist contains only one element.
 Step 9 - If that element also doesn't match with the search
element, then display "Element is not found in the list!!!" and
terminate the function.

You might also like