Jump search finds a target value in a sorted array by first jumping ahead in fixed-size blocks, typically of size equal to the square root of the array's length, checking the value at each jump point until a block is found whose ending value is greater than or equal to the target, and then performing a linear search backward within that block to find the exact position. It runs in O(square root of n) time, slower than binary search's O(log n) but requiring only forward jumps and a final short linear scan, useful on data structures where backward traversal or random access is costly, such as data read from external storage in blocks. It is a standard example of a block-based search technique taught alongside linear and binary search.
Facts
Partially Attested
Credited ToCredit inferred from the cited 1978 CACM paper by Ben Shneiderman; the page text does not explicitly say who invented the algorithm Time Complexity
Time Complexity (category)Sub-Linear / Root Time -- O(sqrt n) 1 Time Complexity Connections
In Field
Source Wikipedia: Jump search
Sources
1. Wikipedia: Jump search
Lead section
Because both steps of the algorithm look at, at most, √n items the algorithm runs in O(√n) time.
References, Shneiderman 1978 entry
Jump Searching: A Fast Sequential Search Technique
In Field: Algorithms and Complexity Theory, Lead sentence
jump search or block search refers to a search algorithm for ordered lists.
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.