A Predecessor Algorithm for Ordered Lists

Abstract A standard problem in processing lists is to find the predecessor of an element. The two major approaches are to search from the beginning of the list or store a back pointer with every element. If the list has N elements, these approaches are O(N) in time and space, respectively. Under conditions discussed below, it is possible to find the predecessor in an ordered list with time O(N 1 2 ) and no additional space.