Searching Algorithms

How Linear Search Works

158
index 016 of 16 still possible15
  • Ruled out
  • Still possible
  • Checked now
  • Found
1/15

Looking for 158 in 16 sorted values, from 4 to 196.

Settings

More options
Is it in the array?
Gaps between values

Two to 64 numbers. Sorted ascending before the search runs.

Linear Search

  1. 1for i in 0..n-1:
  2. 2 if a[i] == target:
  3. 3 return i
  4. 4 if a[i] > target:
  5. 5 return NOT_FOUND // sorted
  6. 6return NOT_FOUND

How the Six Compare

AlgorithmBestAverageWorstNeeds a sorted array
LinearO(1)O(n)O(n)No
BinaryO(1)O(log n)O(log n)Yes
TernaryO(1)O(log n)O(log n)Yes
JumpO(1)O(√n)O(√n)Yes
ExponentialO(1)O(log n)O(log n)Yes
InterpolationO(1)O(log log n)*O(n)Yes

Scroll the table sideways for the rest of the columns.

Interpolation search only reaches that average when the gaps between the values are even.