Skip to main content
eScholarship
Open Access Publications from the University of California

A data structure with movable fingers and deletions

Abstract

A finger is a point in a file near which updates and searches can be conducted particularly efficiently. We present a data structure which supports insertions, deletions, searches, and approximate range queries. In each case both a finger f and a key k are specified as arguments to the appropriate algorithm. The total time bound for n updates (insertion or deletions) in an initiallly empty data structure is the sum over all updates of 0(log d+log*n), where d is the linear distance (i.e., the distance in the linear list being represented) from f to k. By an approximate range query, we mean a query of the form "How many keys lie between the finger f and the key k?", where a predetermined percentage of error is allowed in the number returned. The time for each individual search or range query is 0(log d).

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View