# Finger Search Trees with Constant Insertion Time

## Gerth Stølting Brodal

Technical Report, MPI-I-97-1-020, Max-Planck-Institut für Informatik, 17 pages, September 1997.

## Abstract

We consider the problem of implementing finger search trees on the
pointer machine, * i.e.*, how to maintain a sorted list such that
searching for an element *x*, starting the search at any arbitrary
element *f* in the list, only requires logarithmic time in the
distance between *x* and *f* in the list.

We present the first pointer-based implementation of finger search
trees allowing new elements to be inserted at any arbitrary position
in the list in worst case constant time. Previously, the best known
insertion time on the pointer machine was *O*(log^{*} *n*), where *n*
is the total length of the list. On a unit-cost RAM, a constant
insertion time has been achieved by Dietz and Raman by using
standard techniques of packing small problem sizes into a constant
number of machine words.

Deletion of a list element is supported in *O*(log^{*} *n*) time, which
matches the previous best bounds. Our data structure requires linear
space.

**Online version**
mpi-i-97-1-020.pdf (240 Kb)

**BIBT**_{E}X entry

@techreport{mpi-i-97-1-020,
address = "Im Stadtwald, D-66123 Saarbr{\"u}cken, Germany",
author = "Gerth St{\o}lting Brodal",
institution = "Max-Planck-Institut f{\"u}r Informatik",
month = "September",
number = "MPI-I-97-1-020",
pages = "17",
title = "Finger Search Trees with Constant Insertion Time",
year = "1997"
}