Loop Control Statements in C
Introduction to HTML
How to use the Github API
The image tag, anchor tag and the button tag
Ordered and Unordered Lists in HTML
The division tag
HTML Forms
Tables in HTML
Introduction to C Programming
Introduction to Python
Varibles and Datatypes in Python
Operators in Python
Typecasting in Python
Input and Output in Python
If Else in Python
Loops in Python
Break, Continue and Pass in Python
Python practice section 1
Lists in Python
Tuple in Python
Linear Search in Python
Searching means checking for a value in a sequence e.g. list, tuple, dict, etc, and locating where it is present.
Linear search is the
simplest searching algorithm. It works by comparing each element of the sequence with the element
we want to search. Hence, it is also called sequential search.
- Implementation
- Advantages and Disadvantages
Jump to specific sections
Implementation
We will iterate through the list and check whether the key(element to be searched) matches any element of the list.
If yes, then we break out of the loop and print the index where it was found. Otherwise, we
compare the key with the next element until the key is found or we reach the end of the list. If the key is not found, we will print that the key is not found.
def linear_search(arr,key):
for i in range(len(arr)):
if key==arr[i]:
return i
# if we reach the end of the list and the key is not found, we return -1.
return -1
arr=[1,3,2,5,7]
key=int(input("Enter the key to search: "))
found_at=linear_search(arr)
if found_at!=-1:
print("Key found at index ",i)
else:
print("Key not found")
Output
Enter the key to search: 3 Key found at index 1
Enter the key to search: 6 Key not found
Time Complexity : O(n) where n is the size of the list
Explanation : We run a loop from i=0 to len(arr)-1. At every index, we check whether
the arr[i] equals the key or not. When the key is found, we break out of the loop.
The key may be present at the last index or it may not be present. Hence, in that case, the
loop will run a maximum of n times where n is the number of elements present in the list. So the time complexity will be O(n).
Space Complexity : O(1) no additional space used.
Advantages and Disadvantages
Advantages :
- Easy to understand.
- Can work on both sorted as well as unsorted arrays.
Disadvantages :
- Compares each array element with the element to be searched. Hence, it takes linear time to search.