Padded lists revisited

We study a data structure ${\bf L}$ referred to variously as a padded list, controlled density array or sparse table containing records $\{ R_i \} $ each uniquely identified by a key $\{ k(R_i )\} $. ${\bf L}$ is required to support the operations Search $({\bf L},k)$, Insert $({\bf L},k)$ and Delet...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:SIAM journal on computing 1987-12, Vol.16 (6), p.1073-1114
Hauptverfasser: HOFRI, M, KONHEIM, A. G
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:We study a data structure ${\bf L}$ referred to variously as a padded list, controlled density array or sparse table containing records $\{ R_i \} $ each uniquely identified by a key $\{ k(R_i )\} $. ${\bf L}$ is required to support the operations Search $({\bf L},k)$, Insert $({\bf L},k)$ and Delete $({\bf L},k)$ to search, insert and delete a record with key $k$. To optimize Search $({\bf L},k)$, records are stored with their keys in sorted order. If the order of the keys is to be maintained under insertion, records currently in ${\bf L}$ must be moved to free space. To improve the efficiency of Insert $({\bf L},k)$, records are stored in a circular buffer with "gaps" so that insertion necessitates moving only records up to the next gap. The array is expanded and contracted during a sequence of insertions and deletions depending upon the current number of gaps. In this paper we assess the amount of work required to insert a sequence of records.
ISSN:0097-5397
1095-7111
DOI:10.1137/0216069