# Searching Algorithms in Python

## Introduction to Searching Algorithms in Python

Searching Algorithms in Python provides several searching algorithms that allow you to efficiently locate an element within a dataset. It involves finding a specific element within a collection of data, such as an array or a list.

Our guide on Searching Algorithms in Python unveils the strategies and techniques that empower you to locate specific elements swiftly and accurately.

## What is Searching Algorithms in Python?

Searching algorithms in Python are systematic methods used to locate specific elements within collections of data, such as arrays, lists, or dictionaries. Python provides programmers with a range of searching methods to efficiently retrieve information from lists, arrays, dictionaries, and other data structures.

## Types of Searching Algorithms

Our guide on searching techniques in Python delves into two important methods: Sequential Search and Interval Search.

### Sequential Search

In this type of search, list or array is traversed serially and each element of list or array is examined. One of the Sequential Search is: Linear Search.

##### Linear Search for finding out element "6" from a given list of array
```def linear_search(arr, target):
for index, value in enumerate(arr):
if value == target:
return index
return -1

my_list = [5, 2, 9, 1, 5, 6]
target_value = 9
result = linear_search(my_list, target_value)

if result != -1:
print(f"Target {target_value} found at index {result}")
else:
```

### Output :

```Output:
Target 9 found at index 2```

### Explanation :

• The provided code illustrates a linear search algorithm in Python.
• The linear_search function accepts an array and a target value to search for. It iterates through the array’s elements, comparing each element with the target.
• If a match is found, the function returns the index of the matching element; otherwise, it returns -1 to indicate no match.

### Interval Search

These type of searching algorithms are much more efficient than Linear Search as they repeatedly target the center of the search structure and divide the search space in half. One of the Interval Search is: Binary Search.

##### Binary Search for finding out element "45" from a given list of array
```def binary_search(arr, target):
low = 0
high = len(arr) - 1

while low <= high:
mid = (low + high) // 2
mid_value = arr[mid]

if mid_value == target:
return mid
elif mid_value < target:
low = mid + 1
else:
high = mid - 1

return -1

# Example usage
my_list = [1, 2, 5, 6, 9, 12, 15]
target_value = 9
result = binary_search(my_list, target_value)

if result != -1:
print(f"Target {target_value} found at index {result}")
else:
```

### Output :

`Output: Target 9 found at index 4`

### Explanation :

• The provided Python code implements binary search, an efficient algorithm for finding a target value in a sorted array.
• It starts with defining a search range and iteratively narrows it down by comparing the target with the middle element.
• If found, the index is returned; otherwise, the search range is adjusted based on comparisons.

### Some more Searching Algorithms in Python

There are several searching techniques available, each with its own characteristics, advantages, and use cases. Let’s explore some of the different search techniques in Python:

##### Conclusion

The choice of search technique depends on various factors, including the size of the dataset, whether it’s sorted, the frequency of searches, and the desired level of optimization. Understanding the strengths and weaknesses of each technique helps you choose the most appropriate one for your specific use case, ensuring efficient and effective data retrieval in your Python programs.

### Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

## Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others