## Data Structures (1996)

Venue: | ACM Computer Surveys |

Citations: | 1 - 0 self |

### BibTeX

@ARTICLE{Tamassia96datastructures,

author = {Roberto Tamassia},

title = {Data Structures},

journal = {ACM Computer Surveys},

year = {1996},

volume = {28}

}

### OpenURL

### Abstract

Introduction The study of data structures, i.e., methods for organizing data that are suitable for computer processing, is one of the classic topics of computer science. At the hardware level, a computer views storage devices such as internal memory and disk as holders of elementary data units (bytes), each accessible through its address (an integer). When writing programs, instead of manipulating the data at the byte level, it is convenient to organize them into higher level entities, called data structures. Most data structures can be viewed as containers that store a collection of objects of a given type, called the elements of the container. Often a total order is defined among the elements (e.g., alphabetically ordered names, points in the plane ordered by x-coordinate). A data structure has an associated repertory of operations, classified into queries, which retrieve information on the dat

### Citations

8512 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1991
(Show Context)
Citation Context ...ent-tree, interval-tree, priority-search tree, hull-tree, quad-tree, R-tree, grid file, metablock tree. 3 Further Information Many textbooks and monographs have been written on data structures, e.g., =-=[1, 3, 5, 6, 7, 8, 9, 10, 13, 14, 16, 17, 15, 19]-=-. Recent papers surveying the state-of-the art in data structures include [2, 4, 12, 18]. The LEDA project [11] aims at developing a C++ library of efficient and reliable implementations of sophistica... |

1760 |
Computational Geometry: An Introduction
- Preparata
- 1985
(Show Context)
Citation Context ...ent-tree, interval-tree, priority-search tree, hull-tree, quad-tree, R-tree, grid file, metablock tree. 3 Further Information Many textbooks and monographs have been written on data structures, e.g., =-=[1, 3, 5, 6, 7, 8, 9, 10, 13, 14, 16, 17, 15, 19]-=-. Recent papers surveying the state-of-the art in data structures include [2, 4, 12, 18]. The LEDA project [11] aims at developing a C++ library of efficient and reliable implementations of sophistica... |

994 |
Computergraphics. principles and practice
- Foley, Dam, et al.
(Show Context)
Citation Context ...nd Graphics binary space partition tree, chain tree, trapezoid tree, range tree, segment-tree, interval-tree, priority-search tree, hull-tree, quad-tree, R-tree, grid file, metablock tree. See, e.g., =-=[4, 10, 13, 22, 26, 27, 29]-=-. 1.5 Organization of the Chapter The rest of this chapter focuses on three fundamental abstract data types: sequences, priority queues, and dictionaries. Examples of efficient data structures and alg... |

702 |
Data Structures and Algorithm
- Aho, Hopcroft, et al.
- 1983
(Show Context)
Citation Context ...ent-tree, interval-tree, priority-search tree, hull-tree, quad-tree, R-tree, grid file, metablock tree. 3 Further Information Many textbooks and monographs have been written on data structures, e.g., =-=[1, 3, 5, 6, 7, 8, 9, 10, 13, 14, 16, 17, 15, 19]-=-. Recent papers surveying the state-of-the art in data structures include [2, 4, 12, 18]. The LEDA project [11] aims at developing a C++ library of efficient and reliable implementations of sophistica... |

636 | The LEDA Platform of Combinatorial and Geometric Computing - Mehlhorn, Näher - 1999 |

553 | The ubiquitous B-tree
- Comer
- 1979
(Show Context)
Citation Context ...need to be stored in external memory. For large-scale problems, data structures need to be designed that take into account the two levels of memory [1]. For example, two-level indices such as B-trees =-=[6]-=- have been designed to efficiently search in large databases. Space vs. Time Data structures often exhibit a tradeoff between space and time complexity. For example, suppose we want to represent a set... |

537 |
The input/output complexity of sorting and related problems
- Aggarwal, Vitter
- 1988
(Show Context)
Citation Context ...may not perform well for large amounts of data that need to be stored in external memory. For large-scale problems, data structures need to be designed that take into account the two levels of memory =-=[1]-=-. For example, two-level indices such as B-trees [6] have been designed to efficiently search in large databases. Space vs. Time Data structures often exhibit a tradeoff between space and time complex... |

503 |
Computational Geometry in C
- O’ROURKE
- 1998
(Show Context)
Citation Context ...nd Graphics binary space partition tree, chain tree, trapezoid tree, range tree, segment-tree, interval-tree, priority-search tree, hull-tree, quad-tree, R-tree, grid file, metablock tree. See, e.g., =-=[4, 10, 13, 22, 26, 27, 29]-=-. 1.5 Organization of the Chapter The rest of this chapter focuses on three fundamental abstract data types: sequences, priority queues, and dictionaries. Examples of efficient data structures and alg... |

431 |
Algorithms in C
- Sedgewick
- 1990
(Show Context)
Citation Context |

337 |
Graph algorithms
- Even
- 1979
(Show Context)
Citation Context ...e mentioned below. Graphs and Networks adjacency matrix, adjacency lists, link-cut tree [33], dynamic expression tree [5], topology tree [14], SPQR-tree [8], sparsification tree [11]. See also, e.g., =-=[12, 22, 34]-=-. Text Processing string, suffix tree, Patricia tree. See, e.g., [16]. Geometry and Graphics binary space partition tree, chain tree, trapezoid tree, range tree, segment-tree, interval-tree, priority-... |

322 | Skip lists: a probabilistic alternative to balanced trees
- Pugh
- 1990
(Show Context)
Citation Context ...erations of inserting/deleting elements and searching for a given element. Hash tables provide an efficient implicit realization of a dictionary. Efficient explicit implementations include skip lists =-=[30]-=-, tries, and balanced search trees (e.g., AVL-trees, red-black trees, 2-3 trees, 2-3-4 trees, weight-balanced trees, biased search trees, splay trees). The technique of fractional cascading [3] speeds... |

297 |
A data structure for dynamic trees
- Sleator, Tarjan
- 1983
(Show Context)
Citation Context ... to analyze. See, e.g., [15]. Examples of fundamental data structures used in three major application domains are mentioned below. Graphs and Networks adjacency matrix, adjacency lists, link-cut tree =-=[33]-=-, dynamic expression tree [5], topology tree [14], SPQR-tree [8], sparsification tree [11]. See also, e.g., [12, 22, 34]. Text Processing string, suffix tree, Patricia tree. See, e.g., [16]. Geometry ... |

253 |
Sorting and Searching, volume 3 of The Art of Computer Programming
- Knuth
- 1998
(Show Context)
Citation Context |

246 | Making data structures persistent
- Driscoll, Sarnak, et al.
- 1989
(Show Context)
Citation Context ... data structure supports also updates. A dynamic data structure is often more complicated than its static counterpart supporting the same repertory of queries. A persistent data structure (see, e.g., =-=[9]-=-) is a dynamic data structure that supports operations on past versions. There are many problems for which no efficient dynamic data structures are known. It has been observed that there are strong si... |

162 |
Handbook of Algorithms and Data Structures
- Gonnet
- 1984
(Show Context)
Citation Context |

154 | L.J.: Fractional cascading: I. A data structuring technique
- Chazelle, Guibas
- 1986
(Show Context)
Citation Context ...lists [30], tries, and balanced search trees (e.g., AVL-trees, red-black trees, 2-3 trees, 2-3-4 trees, weight-balanced trees, biased search trees, splay trees). The technique of fractional cascading =-=[3]-=- speeds up searching for the same element in a collection of dictionaries. In external memory, dictionaries are typically implemented as B-trees and their variations. Union-Find A union-find data stru... |

131 |
Algorithms in Combinatorial Geometry, volume 10 of EATCS Monogr. Theoret. Comput. Sci
- Edelsbrunner
- 1987
(Show Context)
Citation Context ...nd Graphics binary space partition tree, chain tree, trapezoid tree, range tree, segment-tree, interval-tree, priority-search tree, hull-tree, quad-tree, R-tree, grid file, metablock tree. See, e.g., =-=[4, 10, 13, 22, 26, 27, 29]-=-. 1.5 Organization of the Chapter The rest of this chapter focuses on three fundamental abstract data types: sequences, priority queues, and dictionaries. Examples of efficient data structures and alg... |

129 |
The Design of Dynamic Data Structures
- Overmars
- 1983
(Show Context)
Citation Context |

122 |
A.: Sparsification—a technique for speeding up dynamic graph algorithms
- Eppstein, Galil, et al.
- 1997
(Show Context)
Citation Context ...application domains are mentioned below. Graphs and Networks adjacency matrix, adjacency lists, link-cut tree [33], dynamic expression tree [5], topology tree [14], SPQR-tree [8], sparsification tree =-=[11]-=-. See also, e.g., [12, 22, 34]. Text Processing string, suffix tree, Patricia tree. See, e.g., [16]. Geometry and Graphics binary space partition tree, chain tree, trapezoid tree, range tree, segment-... |

119 |
Fundamental Algorithms, volume 1 of The Art of Computer Programming, chapter 2.2.6
- Knuth
- 1997
(Show Context)
Citation Context |

96 | Average-case analysis of algorithms and data structures - Vitter, Flajolet - 1990 |

90 |
S.: Fundamentals of Data Structures
- Horowitz, Sahni
- 1983
(Show Context)
Citation Context |

83 | Dynamic Algorithms in Computational Geometry - Chiang, Tamassia - 1991 |

48 |
A data structure for dynamically maintaining rooted trees
- Frederickson
- 1997
(Show Context)
Citation Context ...ntal data structures used in three major application domains are mentioned below. Graphs and Networks adjacency matrix, adjacency lists, link-cut tree [33], dynamic expression tree [5], topology tree =-=[14]-=-, SPQR-tree [8], sparsification tree [11]. See also, e.g., [12, 22, 34]. Text Processing string, suffix tree, Patricia tree. See, e.g., [16]. Geometry and Graphics binary space partition tree, chain t... |

47 | Data Structures and Algorithms for Disjoint Set Union Problems - Galil - 1991 |

45 | Data Structures and Algorithms
- Mehlhorn
- 1984
(Show Context)
Citation Context |

43 |
Data Structures and Network Algorithms, volume 44
- Tarjan
- 1983
(Show Context)
Citation Context |

42 | Complexity models for incremental computation
- Miltersen, Subramanian, et al.
- 1994
(Show Context)
Citation Context ...s that are difficult to parallelize and those that are difficult to dynamize (see, e.g., [31]). Further investigations are needed to study the relationship between parallel and incremental complexity =-=[25]-=-. Implicit vs. Explicit Two fundamental data organization mechanisms are used in data structures. In an explicit data structure, pointers (i.e., memory addresses) are used to link the elements and acc... |

38 |
Data Structures and Their Algorithms
- Lewis, Denenberg
- 1991
(Show Context)
Citation Context |

34 |
Data Structures, Algorithms, and Performance
- Wood
- 1993
(Show Context)
Citation Context |

32 | A.: Data structures - Mehlhorn, Tsakalidis - 1990 |

26 |
R.E.: Sorting Jordan sequences in linear time using level-linked search trees
- Hoffman, Mehlhorn, et al.
- 1986
(Show Context)
Citation Context ...ueues, where insertions and deletions can be done only at the head or tail of the sequence. The basic realization of sequences are by means of arrays and linked lists. Concatenable queues (see, e.g., =-=[17]-=-) support additional operations such as splitting and splicing, and determining the sequence containing a given element. In external memory, a sequence is typically associated with a file. Priority Qu... |

22 |
On-line graph algorithms with SPQR-trees
- Battista, Tamassia
- 1990
(Show Context)
Citation Context ...ures used in three major application domains are mentioned below. Graphs and Networks adjacency matrix, adjacency lists, link-cut tree [33], dynamic expression tree [5], topology tree [14], SPQR-tree =-=[8]-=-, sparsification tree [11]. See also, e.g., [12, 22, 34]. Text Processing string, suffix tree, Patricia tree. See, e.g., [16]. Geometry and Graphics binary space partition tree, chain tree, trapezoid ... |

11 | Dynamic expression trees
- Cohen, Tamassia
- 1995
(Show Context)
Citation Context ...Examples of fundamental data structures used in three major application domains are mentioned below. Graphs and Networks adjacency matrix, adjacency lists, link-cut tree [33], dynamic expression tree =-=[5]-=-, topology tree [14], SPQR-tree [8], sparsification tree [11]. See also, e.g., [12, 22, 34]. Text Processing string, suffix tree, Patricia tree. See, e.g., [16]. Geometry and Graphics binary space par... |

11 |
A Topological Approach to Dynamic Graph Connectivity
- Reif
- 1987
(Show Context)
Citation Context ...data structures are known. It has been observed that there are strong similarities among the classes of problems that are difficult to parallelize and those that are difficult to dynamize (see, e.g., =-=[31]-=-). Further investigations are needed to study the relationship between parallel and incremental complexity [25]. Implicit vs. Explicit Two fundamental data organization mechanisms are used in data str... |

10 |
Hinrichs: Algorithms and Data Structures with Applications to Graphics and geometry. Englewood Cliffs
- Nievergelt, K
- 1993
(Show Context)
Citation Context |