scispace - formally typeset
Search or ask a question
Topic

Splay tree

About: Splay tree is a research topic. Over the lifetime, 217 publications have been published within this topic receiving 6607 citations.


Papers
More filters
Journal ArticleDOI
TL;DR: The splay tree, a self-adjusting form of binary search tree, is developed and analyzed and is found to be as efficient as balanced trees when total running time is the measure of interest.
Abstract: The splay tree, a self-adjusting form of binary search tree, is developed and analyzed. The binary search tree is a data structure for representing tables and lists so that accessing, inserting, and deleting items is easy. On an n-node splay tree, all the standard search tree operations have an amortized time bound of O(log n) per operation, where by “amortized time” is meant the time per operation averaged over a worst-case sequence of operations. Thus splay trees are as efficient as balanced trees when total running time is the measure of interest. In addition, for sufficiently long access sequences, splay trees are as efficient, to within a constant factor, as static optimum search trees. The efficiency of splay trees comes not from an explicit structural constraint, as with balanced trees, but from applying a simple restructuring heuristic, called splaying, whenever the tree is accessed. Extensions of splaying give simplified forms of two other data structures: lexicographic or multidimensional search trees and link/cut trees.

1,321 citations

Proceedings ArticleDOI
16 Oct 1978
TL;DR: This paper shows how to imbed in this framework the best known balanced tree techniques and then use the framework to develop new algorithms which perform the update and rebalancing in one pass, on the way down towards a leaf.
Abstract: In this paper we present a uniform framework for the implementation and study of balanced tree algorithms. We show how to imbed in this framework the best known balanced tree techniques and then use the framework to develop new algorithms which perform the update and rebalancing in one pass, on the way down towards a leaf. We conclude with a study of performance issues and concurrent updating.

711 citations

Journal ArticleDOI
TL;DR: This paper surveys recent work by several researchers on amortized complexity and obtains “self-adjusting” data structures that are simple, flexible and efficient.
Abstract: A powerful technique in the complexity analysis of data structures is amortization, or averaging over time. Amortized running time is a realistic but robust complexity measure for which we can obtain surprisingly tight upper and lower bounds on a variety of algorithms. By following the principle of designing algorithms whose amortized complexity is low, we obtain “self-adjusting” data structures that are simple, flexible and efficient. This paper surveys recent work by several researchers on amortized complexity.

523 citations

Book
01 Sep 1991
TL;DR: This book provides a proven approach to algorithms and data structures using the exciting Java programming language as the implementation tool and highlights conceptual topics, focusing on ADTs and the analysis of algorithms for efficiency as well as performance and running time.
Abstract: From the Publisher: Mark Allen Weiss provides a proven approach to algorithms and data structures using the exciting Java programming language as the implementation tool. With Java he highlights conceptual topics, focusing on ADTs and the analysis of algorithms for efficiency as well as performance and running time. Dr. Weiss also distinguishes this text with a logical organization of topics, his engaging writing style, and an extensive use of figures and examples showing the successive stages of an algorithm. Features: Contains extensive sample code using Java 1.2, which is available over the Internet. Covers the Java Collections Library in an appendix. Includes a chapter on algorithm and design techniques that covers greedy algorithms, divide-and-conquer algorithms, dynamic programming, randomized algorithms, and backtracking. Presents current topics and new data structures such as Fibonacci heaps, skew heaps, binomial queues, skip lists, and splay trees. Offers a chapter on amortized analysis that examines the advanced data structures presented earlier in the book. Provides a chapter on advanced data structures and their implementation, covering red-black trees, top-down splay trees, treaps, k-d trees, pairing heaps, and more.

518 citations

Proceedings Article
10 Aug 2009
TL;DR: A backwards compatible bounds checking technique that substantially reduces performance overhead and is more than two times faster than the fastest previous technique and about five times faster--using less memory--than recording object bounds using a splay tree.
Abstract: Attacks that exploit out-of-bounds errors in C and C++ programs are still prevalent despite many years of research on bounds checking. Previous backwards compatible bounds checking techniques, which can be applied to unmodified C and C++ programs, maintain a data structure with the bounds for each allocated object and perform lookups in this data structure to check if pointers remain within bounds. This data structure can grow large and the lookups are expensive. In this paper we present a backwards compatible bounds checking technique that substantially reduces performance overhead. The key insight is to constrain the sizes of allocated memory regions and their alignment to enable efficient bounds lookups and hence efficient bounds checks at runtime. Our technique has low overhead in practice--only 8% throughput decrease for Apache-- and is more than two times faster than the fastest previous technique and about five times faster--using less memory--than recording object bounds using a splay tree.

263 citations


Network Information
Related Topics (5)
Approximation algorithm
23.9K papers, 654.3K citations
83% related
Time complexity
36K papers, 879.5K citations
82% related
Data structure
28.1K papers, 608.6K citations
80% related
Tree (data structure)
44.9K papers, 749.6K citations
78% related
Greedy algorithm
15.3K papers, 393.9K citations
78% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20213
20204
20196
201813
201713
20168