Interpolation searchInterpolation search parallels how humans search through a telephone book. Instead of comparing against every item like the linear search, it attempts to find the item by approximating how far the item is likely to be from the current position. This differs from the binary search, in that the binary search always divides the search space in half. The interpolation search makes fewer than O(log(log(N)) comparisons, where N is the number of elements to be searched, however in reality it is often no faster than binary search due to the complexity of the arithmetic calculations of approximating the indices.
The interpolation search, like the binary search, requires that the values be sorted and randomly accessible. It works by making the assumption that values are uniformly distributed, and thus uses the end values to compute an index.