1. Introduction
Linear Search, also known as sequential search, is a simple search algorithm that checks every element in a list sequentially until the target value is found or the end of the list is reached.
It is best used when:
- The list is unsorted.
- The dataset is small or rarely searched.
2. Characteristics of Linear Search
- Time Complexity:
- Best case:
O(1)
(element is at the first position) - Worst case:
O(n)
(element not present or at the last position) - Average case:
O(n)
- Best case:
- Space Complexity:
O(1)
– constant space - Does not require sorting
- Works on both arrays and lists
3. Linear Search Algorithm Steps
- Start from the first element.
- Compare the target element with the current element.
- If they match, return the current index.
- If not, move to the next element.
- Repeat until the end of the array.
- If no match is found, return
-1
.
4. Java Code Example
public class LinearSearchExample { public static int linearSearch(int[] arr, int target) { for (int i = 0; i < arr.length; i++) { if (arr[i] == target) { return i; // Found, return index } } return -1; // Not found } public static void main(String[] args) { int[] numbers = {15, 22, 9, 31, 56, 48}; int target = 31; int result = linearSearch(numbers, target); if (result != -1) { System.out.println("Element found at index: " + result); } else { System.out.println("Element not found in the array."); } } }
5. Text-Based Visual Representation
Let’s say:
arr = [4, 8, 15, 23, 42] target = 15
Step-by-step:
Step 1: arr[0] = 4 → not match Step 2: arr[1] = 8 → not match Step 3: arr[2] = 15 → match found
6. When Linear Search is Not Ideal
- Large datasets → becomes slow (O(n))
- Sorted arrays → binary search is more efficient (
O(log n)
)
7. When to Use Linear Search
Use Linear Search when:
- The data is unsorted
- You expect the target near the beginning
- The dataset is small
- You need a quick, simple search method