Explore and compare different searching algorithms with detailed complexity analysis.
Simple sequential search through all elements one by one.
Divide and conquer algorithm that repeatedly divides search interval in half.
Jump ahead by fixed steps, then perform linear search in the block.
Improved binary search using position estimation based on value.
Find range where element is present, then do binary search in that range.
Divide-and-conquer algorithm that divides array into three parts.
| Algorithm | Best | Average | Worst | Space | Requirement |
|---|---|---|---|---|---|
| Linear Search | O(1) | O(n) | O(n) | O(1) | None |
| Binary Search | O(1) | O(log n) | O(log n) | O(1) | Sorted array |
| Jump Search | O(1) | O(√n) | O(√n) | O(1) | Sorted array |
| Interpolation Search | O(1) | O(log log n) | O(n) | O(1) | Sorted array, uniformly distributed |
| Exponential Search | O(1) | O(log n) | O(log n) | O(1) | Sorted array |
| Ternary Search | O(1) | O(log₃ n) | O(log₃ n) | O(1) | Sorted array |