Exponential search finds a target value in a sorted, unbounded or very large array by first determining a range that must contain the target, doubling an index repeatedly, one, two, four, eight and so on, until the value at that index exceeds the target or the array's end is reached, and then performing a binary search within the identified range. It runs in O(log i) time where i is the position of the target, especially useful when the target is expected to be near the beginning of the array or when the array's length is not known in advance, such as searching an unbounded list. Jon Bentley and Andrew Chi-Chih Yao described the technique in 1976.
Facts
Time ComplexityO(log i), where i is the position of the search key 2 Credited ToJon Bentley and Andrew Chi-Chih Yao 2 Time Complexity
Time Complexity (category)Logarithmic Time -- O(log n) 1 Connections
Credited To
Source Wikipedia: Exponential search
Source Wikipedia: Exponential search
In Field
Source Wikipedia: Exponential search
Invented By
Source Wikipedia: Exponential search
Source Wikipedia: Exponential search
Sources
1. Exponential Search Algorithm (Wikipedia)
Wikipedia infobox: time complexity logarithmicQuote, Wikipedia infobox: time complexity logarithmic
logarithmic
View the Source 2. Wikipedia: Exponential search
Infobox, time
O(log i)
Lead section
created by Jon Bentley and Andrew Chi-Chih Yao in 1976
- In Field: Algorithms and Complexity Theory, Lead paragraph
In Group: Searching Algorithms for Ordered Lists, Lead
In computer science, an exponential search (also called doubling search or galloping search or Struzik search) is an algorithm, created by Jon Bentley and Andrew Chi-Chih Yao in 1976, for searching sorted, unbounded/infinite 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.