SummaryWe give a representation for linked lists which allows to efficiently insert and delete objects in the list and to quickly determine the order of two list elements. The basic data structure, called an indexed BB [α]-tree, allows to do n insertions and deletions in O(n log n) steps and determine the order in constant time, assuming that the locations of the elements worked at are given. The improved algorithm does n insertions and deletions in O(n) steps and determines the order in constant time. An application of this provides an algorithm which determines the ancestor relationship of two given nodes in a dynamic tree structure of bounded degree in time O(1) and performs n arbitrary insertions and deletions at given positions in time O(n) using linear space.
[1]
Edward M. Reingold,et al.
Binary Search Trees of Bounded Balance
,
1973,
SIAM J. Comput..
[2]
Athanasios K. Tsakalidis.
Maintaining order in a generalized linked list
,
1983,
Theoretical Computer Science.
[3]
David Maier,et al.
An Efficient Method for Storing Ancestor Information in Trees
,
1979,
SIAM J. Comput..
[4]
Kurt Mehlhorn,et al.
On the Average Number of Rebalancing Operations in Weight-Balanced Trees
,
1980,
Theor. Comput. Sci..
[5]
Kurt Mehlhorn,et al.
A new data structure for representing sorted lists
,
1980,
Acta Informatica.
[6]
Paul F. Dietz.
Maintaining order in a linked list
,
1982,
STOC '82.