## Finger Search Trees with Constant Insertion Time (1997)

### Cached

### Download Links

- [www.brics.dk]
- [www.daimi.au.dk]
- [www.daimi.au.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. 9th Annual ACM-SIAM Symposium on Discrete Algorithms |

Citations: | 14 - 3 self |

### BibTeX

@INPROCEEDINGS{Brodal97fingersearch,

author = {Gerth Stølting Brodal},

title = {Finger Search Trees with Constant Insertion Time},

booktitle = {In Proc. 9th Annual ACM-SIAM Symposium on Discrete Algorithms},

year = {1997},

pages = {540--549},

publisher = {ACM}

}

### OpenURL

### 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. 1 Introduction A finger search tree is a data structure which stores a sorte...

### Citations

227 | Purely Functional Data Structures - Okasaki - 1998 |

155 | Two algorithms for maintaining order in a list - Dietz, Sleator |

96 | A new data structure for representing sorted Lists
- Huddleston, Mehlhom
- 1982
(Show Context)
Citation Context ...stance between two elements is the difference between their ranks in the list. In the following, we denote a data structure having O(log ffi) search time a finger search tree. Huddleston and Mehlhorn =-=[10]-=- showed that (2; 4)--trees support insertions and deletions in amortized constant time, assuming that the position of the element to be inserted or deleted is known. The question we consider is, if it... |

57 |
A new representation for linear lists
- Guibas, McCreight, et al.
- 1977
(Show Context)
Citation Context ...ger searches. Finger search trees with worst case constant insertion and deletion time for the restricted case where there are only a constant number of fixed fingers have been given by Guibas et al. =-=[7]-=-, Kosaraju [12] and Tsakalidis [17]. Finger search trees which allow any element of the list to be a finger and which obtain worst case O(log n) insertion and deletion time have been given by Harel an... |

27 |
The design of dynamic data structures, volume 156
- Overmars
(Show Context)
Citation Context ...neighbor insertions and deletions in worst case constant time. Proof The lemma is obtained by combining the finger search trees of Dietz and Raman [3] and the search trees of Levcopoulos and Overmars =-=[15]-=-. The basic data structure of Dietz and Raman [3] is a (2; 3)--tree where each leaf stores a bucket of \Theta(log 2 n) elements. By level-linking the (2; 3)--tree a finger search can easily be done on... |

23 |
A balanced search tree with O(1) worstcase update time
- Levcopoulos, Overmars
- 1988
(Show Context)
Citation Context ...lt is known. The results obtained for the pointer machine are as follows. Search trees with constant insertion and deletion time on the pointer machine have been presented by Levcopoulos and Overmars =-=[13]-=- and Fleischer [6], but neither of them support finger searches. Finger search trees with worst case constant insertion and deletion time for the restricted case where there are only a constant number... |

21 |
Localized search in sorted lists
- Kosaraju
- 1981
(Show Context)
Citation Context ...Finger search trees with worst case constant insertion and deletion time for the restricted case where there are only a constant number of fixed fingers have been given by Guibas et al. [7], Kosaraju =-=[12]-=- and Tsakalidis [17]. Finger search trees which allow any element of the list to be a finger and which obtain worst case O(log n) insertion and deletion time have been given by Harel and Lueker [8, 9]... |

18 | A simple balanced search tree with O(1) worst-case update time
- Fleischer
- 1996
(Show Context)
Citation Context ...sults obtained for the pointer machine are as follows. Search trees with constant insertion and deletion time on the pointer machine have been presented by Levcopoulos and Overmars [13] and Fleischer =-=[6]-=-, but neither of them support finger searches. Finger search trees with worst case constant insertion and deletion time for the restricted case where there are only a constant number of fixed fingers ... |

17 |
R.: A constant update time finger search tree
- Dietz, Raman
- 1994
(Show Context)
Citation Context ...on from the result of Huddleston and Mehlhorn [10], i.e., if finger search trees exist which support insertions and deletions in worst case constant time. By assuming a unit-cost RAM, Dietz and Raman =-=[3]-=- have presented a finger search tree implementation supporting insertions and deletions in worst case constant time. The data structure of Dietz and Raman is based on standard RAM techniques of packin... |

15 |
Eliminating Amortization: On Data Structures with Guaranteed Response Time
- Raman
- 1992
(Show Context)
Citation Context ...bal splitting lemma which guaranteed that each of the recursive substructures would have polylogarithmic size. For a detailed discussion and applications of this lemma we refer to the thesis of Raman =-=[16]-=-. Our approach is, in contrast, a local bottom-up approach based on a functional implementation of binary counting to select the nodes to split in a search tree. A weakly related bottomup approach has... |

9 |
A Data Structure with Movable Fingers and Deletions
- Harel, Lueker
- 1979
(Show Context)
Citation Context ...u [12] and Tsakalidis [17]. Finger search trees which allow any element of the list to be a finger and which obtain worst case O(log n) insertion and deletion time have been given by Harel and Lueker =-=[8, 9]-=-. In this paper we present the first finger search tree implementation for the pointer machine which supports arbitrary finger searches and which supports insertions in worst case constant time. The d... |

9 |
AVL-trees for Localized Search
- Tsakalidis
- 1985
(Show Context)
Citation Context ...with worst case constant insertion and deletion time for the restricted case where there are only a constant number of fixed fingers have been given by Guibas et al. [7], Kosaraju [12] and Tsakalidis =-=[17]-=-. Finger search trees which allow any element of the list to be a finger and which obtain worst case O(log n) insertion and deletion time have been given by Harel and Lueker [8, 9]. In this paper we p... |

7 |
Stlting Brodal: Partially Persistent Data Structures of Bounded Degree with Constant Update Time
- Gerth
- 1996
(Show Context)
Citation Context ...t, a local bottom-up approach based on a functional implementation of binary counting to select the 2 nodes to split in a search tree. A weakly related bottom-up approach has been presented by Brodal =-=[1]-=- to remove the amortization from the partial persistence technique of Driscoll et al. [5]. The structure of this paper is as follows. Section 2 describes the basic idea of the construction, Section 3 ... |

6 |
Fast updates of balanced search trees with a guaranteed time bound per update
- Harel
- 1980
(Show Context)
Citation Context ...u [12] and Tsakalidis [17]. Finger search trees which allow any element of the list to be a finger and which obtain worst case O(log n) insertion and deletion time have been given by Harel and Lueker =-=[8, 9]-=-. In this paper we present the first finger search tree implementation for the pointer machine which supports arbitrary finger searches and which supports insertions in worst case constant time. The d... |

4 |
and Robert Endre Tarjan. Design and analysis of a data structure for representing sorted lists
- Brown
- 1980
(Show Context)
Citation Context ...han x in the list. ffl Insert(f; x) inserts element x immediately to the right of the finger f . Returns a finger to x. ffl Delete(f) deletes the element pointed to by the finger f . Brown and Tarjan =-=[2]-=- observed that by level-linking (2; 4)--trees, finger searches can be done in worst case O(log ffi) time, where ffi is the distance between the finger and the search element. The distance between two ... |

2 |
Robert Endre Tarjan. Making data structures persistent
- Driscoll, Sarnak, et al.
- 1989
(Show Context)
Citation Context ...select the 2 nodes to split in a search tree. A weakly related bottom-up approach has been presented by Brodal [1] to remove the amortization from the partial persistence technique of Driscoll et al. =-=[5]-=-. The structure of this paper is as follows. Section 2 describes the basic idea of the construction, Section 3 describes how to maintain ancestor pointers in a tree by using a functional stack impleme... |

1 |
Endre Tarjan. Persistent lists with catenation via recursive slow-down
- Kaplan, Robert
- 1995
(Show Context)
Citation Context ... stacks. A purely functional stack is just a standard LISP list. This allows us to assign S ` 0 the value of S ` in worst case constant time. Recent work on functional data structures can be found in =-=[11, 14]-=-. We now describe how to update S ` corresponding to incrementing c ` and how to determine the node v at level d that should be split. In the following, p x denotes the parent of the leaf or internal ... |