Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Daniel Dominic Sleator

dblp:s/DanielDominicSleator · also Daniel Dominic Kaplan Sleator · DBLP profile ↗
← Back
28ranked-venue papers
10as first author
0since 2021 · last 2019
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 26 · 9 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
16 papers
Approximation and online algorithms · 48% Algorithms and data structures · 46% Automata and formal languages · 3%
Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

Topics — the 27 heaviest of 29, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Approximation and online algorithms
online algorithms
0.152006
O(log log n)-competitive dynamic binary search trees · SODA 2006
Randomized Competitive Algorithms for the List Update Problem · SODA 1991
Competitive Algorithms for On-line Problems · STOC 1988
Approximation and online algorithms › online algorithms
competitive analysis
0.132006
O(log log n)-competitive dynamic binary search trees · SODA 2006
Competitive Algorithms for On-line Problems · STOC 1988
Competitive Snoopy Caching · FOCS 1986
Algorithms and data structures › dynamic data structures
persistent data structures
0.031994
Fully Persistent Lists with Catenation · J. ACM 1994
Fully Persistent Lists with Catenation · SODA 1991
Making Data Structures Persistent · STOC 1986
Automata and formal languages › formal language operations
catenation
0.021994
Fully Persistent Lists with Catenation · SODA 1991
Fully Persistent Lists with Catenation · J. ACM 1994
Algorithms and data structures › analysis of algorithms
amortized analysis
0.041986
Self-Adjusting Heaps · SIAM J. Comput. 1986
Self-Adjusting Binary Search Trees · J. ACM 1985
Amortized Efficiency of List Update Rules · STOC 1984
Approximation and online algorithms › online algorithms
list update
0.021991
Randomized Competitive Algorithms for the List Update Problem · SODA 1991
Amortized Efficiency of List Update Rules · STOC 1984
Algorithms and data structures › dynamic data structures › self-adjusting data structures
self-organizing lists
0.011991
Randomized Competitive Algorithms for the List Update Problem · SODA 1991
Algorithms and data structures › data structure design › search structures › search trees
binary search trees
0.021986
Making Data Structures Persistent · STOC 1986
Self-Adjusting Binary Search Trees · J. ACM 1985
Algorithms and data structures › priority queues › heap
self-adjusting heap
0.021986
Self-Adjusting Heaps · SIAM J. Comput. 1986
Self-Adjusting Binary Trees · STOC 1983
Algorithms and data structures › data structure design › search structures › search trees › binary search trees
splay trees
0.021985
Self-Adjusting Binary Search Trees · J. ACM 1985
Self-Adjusting Binary Trees · STOC 1983
Algorithms and data structures › data structure design › search structures
search trees
0.021985
Biased Search Trees · SIAM J. Comput. 1985
Biased 2-3 Trees · FOCS 1980
Algorithms and data structures › dynamic data structures
linked list
0.011987
Two Algorithms for Maintaining Order in a List · STOC 1987
Algorithms and data structures › dynamic data structures
list labeling
0.011987
Two Algorithms for Maintaining Order in a List · STOC 1987
Memory systems
cache coherence
0.011986
Competitive Snoopy Caching · FOCS 1986
Algorithms and data structures › priority queues
heap
0.011986
Self-Adjusting Heaps · SIAM J. Comput. 1986
Computational geometry
triangulation
0.011986
Rotation Distance, Triangulations, and Hyperbolic Geometry · STOC 1986
Algorithms and data structures
priority queues
0.021986
Self-Adjusting Binary Trees · STOC 1983
Self-Adjusting Heaps · SIAM J. Comput. 1986
Algorithms and data structures
dynamic data structures
0.011985
Biased Search Trees · SIAM J. Comput. 1985
Algorithms and data structures › data structure design › search structures › search trees
multidimensional search tree
0.011985
Self-Adjusting Binary Search Trees · J. ACM 1985
Algorithms and data structures › dynamic data structures
self-adjusting data structures
0.011983
Self-Adjusting Binary Trees · STOC 1983
Algorithms and data structures › dynamic algorithms
dynamic trees
0.011981
A Data Structure for Dynamic Trees · STOC 1981
Algorithms and data structures › dynamic algorithms › dynamic trees
link-cut trees
0.011981
A Data Structure for Dynamic Trees · STOC 1981
Graph algorithms and graph theory › graph algorithms › network flow
maximum flow
0.011981
A Data Structure for Dynamic Trees · STOC 1981
Graph algorithms and graph theory › graph algorithms
network flow
0.011981
A Data Structure for Dynamic Trees · STOC 1981
Algorithms and data structures › data structure design › search structures › search trees
2-3 trees
0.011980
Biased 2-3 Trees · FOCS 1980
Computational geometry › metric geometry
hyperbolic geometry
0.011986
Rotation Distance, Triangulations, and Hyperbolic Geometry · STOC 1986
Graph algorithms and graph theory › spanning tree
minimum spanning tree
0.011981
A Data Structure for Dynamic Trees · STOC 1981

Methods — techniques the papers use, named apart from their topics

competitive ratio analysis · 0.1amortized analysis · 0.0persistence techniques · 0.0competitive ratio · 0.0competitive analysis · 0.0randomized competitive algorithms · 0.0adversary argument · 0.0worst-case analysis · 0.0online algorithms · 0.0online algorithm · 0.0geometric analysis · 0.0
YearPublicationVenuePosition
2019 Optimal Offline Dynamic 2, 3-Edge/Vertex Connectivity
Richard Peng, Bryce Sandlund, Daniel Dominic Sleator
WADS3
2009 Skip-Splay: Toward Achieving the Unified Bound in the BST Model
Jonathan Derryberry, Daniel Dominic Sleator
WADS2
2006 O(log log n)-competitive dynamic binary search trees
Chengwen Chris Wang, Jonathan Derryberry, Daniel Dominic Sleator
SODA3
1994 Randomized Competitive Algorithms for the List Update Problem
Nick Reingold, Jeffery R. Westbrook, Daniel Dominic Sleator
Algorithmica3
1994 Fully Persistent Lists with Catenation
abstract
This paper considers the problem of representing stacks with catenation so that any stack, old or new, is available for access or update operations. This problem arises in the implementation of list-based and functional programming languages. A solution is proposed requiring constant time and space for each stack operation except catenation, which requires O(log log k ) time and space. Here k is the number of stack operations done before the catenation. All the resource bounds are amortized over the sequence of operations.
James R. Driscoll, Daniel Dominic Sleator, Robert E. Tarjan
J. ACM2
1992 Data Structures and Terminating Petri Nets
Daniel Dominic Sleator
LATIN1
1992 Short Encodings of Evolving Structures
abstract
A derivation in a transformational system such as a graph grammar may be redundant in the sense that the exact order of the transformations may not affect the final outcome; all that matters is that each transformation, when applied, is applied to the correct substructure. By taking advantage of this redundancy, we can develop an efficient encoding scheme for such derivations. This encoding scheme has a number of diverse applications. It can be used in efficient enumeration of combinatorial objects or for compact representation of program and data structure transformations. It can also be used to derive lower bounds on lengths of derivations. It is shown, for example, that $\Omega ( n \log n )$ applications of the associative and commutative laws are required in the worst case to transform an n-variable expression over a binary associative, commutative operation into some other equivalent expression. Similarly, it is shown that $\Omega ( n\log n )$ “diagonal flips” are required in the worst case to transform one n-vertex numbered triangulated planar graph into some other one. Both of these lower bounds have matching upper bounds. An $O( n\log n )$ upper bound for associative, commutative operations was known previously, whereas here an $O( n\log n )$ upper bound for diagonal flips is obtained.
Daniel Dominic Sleator, Robert E. Tarjan, William P. Thurston
SIAM J. Discret. Math.1
1991 Fully Persistent Lists with Catenation
James R. Driscoll, Daniel Dominic Sleator, Robert E. Tarjan
SODA2
1991 Randomized Competitive Algorithms for the List Update Problem
Sandy Irani, Nick Reingold, Jeffery R. Westbrook, Daniel Dominic Sleator
SODA4
1991 A Strongly Competitive Randomized Paging Algorithm
Lyle A. McGeoch, Daniel Dominic Sleator
Algorithmica2
1989 A Tight Amortized Bound for Path Reversal
David Ginat, Daniel Dominic Sleator, Robert E. Tarjan
Inf. Process. Lett.2
1989 Making Data Structures Persistent
James R. Driscoll, Neil Sarnak, Daniel Dominic Sleator, Robert E. Tarjan
J. Comput. Syst. Sci.3
1988 Competitive Algorithms for On-line Problems
abstract
An on-line problem is one in which an algorithm must handle a sequence of requests, satisfying each request without knowledge of the future requests. Examples of on-line problems include scheduling the motion of elevators, finding routes in networks, allocating cache memory, and maintaining dynamic data structures. A competitive algorithm for an on-line problem has the property that its performance on any sequence of requests is within a constant factor of the performance of any other algorithm on the same sequence. This paper presents several general results concerning competitive algorithms, as well as results on specific on-line problems.
Mark S. Manasse, Lyle A. McGeoch, Daniel Dominic Sleator
STOC3
1988 Competitive Snoopy Caching
Anna R. Karlin, Mark S. Manasse, Larry Rudolph, Daniel Dominic Sleator
Algorithmica4
1987 Two Algorithms for Maintaining Order in a List
abstract
The order maintenance problem is that of maintaining a list under a sequence of Insert and Delete operations, while answering Order queries (determine which of two elements comes first in the list). We give two new algorithms for this problem. The first algorithm matches the O(1) amortized time per operation of the best previously known algorithm, and is much simpler. The second algorithm permits all operations to be performed in O(1) worst-case time.
Paul F. Dietz, Daniel Dominic Sleator
STOC2
1986 Competitive Snoopy Caching
abstract
In a snoopy cache multiprocessor system, each processor has a cache in which it stores blocks of data. Each cache is connected to a bus used to communicate with the other caches and with main memory. For several of the proposed models of snoopy caching, we present new on-line algorithms which decide, for each cache, which blocks to retain and which to drop in order to minimize communication over the bus. We prove that, for any sequence of operations, our algorithms' communication costs are within a constant factor of the minimum required for that sequence; for some of our algorithms we prove that no on-line algorithm has this property with a smaller constant.
Anna R. Karlin, Mark S. Manasse, Larry Rudolph, Daniel Dominic Sleator
FOCS4
1986 Making Data Structures Persistent
abstract
This paper is a study of persistence in data structures. Ordinary data structures are ephemeral in the sense that a change to the structure destroys the old version, leaving only the new version available for use. In contrast, a persistent structure allows access to any version, old or new, at any time. We develop simple, systematic, and effiient techniques for making linked data structures persistent. We use our techniques to devise persistent forms of binary search trees with logarithmic access, insertion, and deletion times and O(1) space bounds for insertion and deletion.
James R. Driscoll, Neil Sarnak, Daniel Dominic Sleator, Robert E. Tarjan
STOC3
1986 Rotation Distance, Triangulations, and Hyperbolic Geometry
abstract
Computer Science Department
Daniel Dominic Sleator, Robert E. Tarjan, William P. Thurston
STOC1
1986 The Pairing Heap: A New Form of Self-Adjusting Heap
Michael L. Fredman, Robert Sedgewick, Daniel Dominic Sleator, Robert E. Tarjan
Algorithmica3
1986 Self-Adjusting Heaps
abstract
In this paper we explore two themes in data structure design: amortized computational complexity and self adjustment. We are motivated by the following observations. In most applications of data structures, we wish to perform not just a single operation but a sequence of operations, possibly having correlated behavior. By averaging the running time per operation over a worst-case sequence of operations, we can sometimes obtain an overall time bound much smaller than the worst-case time per operation multiplied by the number of operations. We call this kind of averaging amortization. Standard kinds of data structures, such as the many varieties of balanced trees, are specifically designed so that the worst-case time per operation is small. Such efficiency is achieved by imposing an explicit structural constraint that must be maintained during updates, at a cost of both running time and storage space. However, if amortized running time is the complexity measure of interest, we can guarantee efficiency without maintaining a structural constraint. Instead, during each access or update operation we adjust the data structure in a simple, uniform way. We call such a data structure self adjusting. In this paper we develop the skew heap, a self-adjusting form of heap related to the leftist heaps of Crane and Knuth. (What we mean by a heap has also been called a “priority queue” or a “mergeable heap”.) Skew heaps use less space than leftist heaps and similar worst-case-efficient data structures and are competitive in running time, both in theory and in practice, with worst-case structures. They are also easier to implement. We derive an information-theoretic lower bound showing that skew heaps have minimum possible amortized running time, to within a constant factor, on any sequence of certain heap operations.
Daniel Dominic Sleator, Robert E. Tarjan
SIAM J. Comput.1
1985 Self-Adjusting Binary Search Trees
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.
Daniel Dominic Sleator, Robert E. Tarjan
J. ACM1
1985 Biased Search Trees
abstract
We consider the problem of storing items from a totally ordered set in a search tree so that the access time for a given item depends on a known estimate of the access frequency of the item. We describe two related classes of biased search trees whose average access time is within a constant factor of the minimum and that are easy to update under insertions, deletions and more radical update operations. We present and analyze efficient update algorithms for biased search trees. We list several applications of such trees.
Samuel W. Bent, Daniel Dominic Sleator, Robert E. Tarjan
SIAM J. Comput.2
1984 Amortized Efficiency of List Update Rules
abstract
Article Amortized efficiency of list update rules Share on Authors: Daniel Dominic Sleator View Profile , Robert Endre Tarjan View Profile Authors Info & Claims STOC '84: Proceedings of the sixteenth annual ACM symposium on Theory of computingDecember 1984 Pages 488–492https://doi.org/10.1145/800057.808718Published:01 December 1984 15citation466DownloadsMetricsTotal Citations15Total Downloads466Last 12 Months6Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Daniel Dominic Sleator, Robert E. Tarjan
STOC1
1983 Self-Adjusting Binary Trees
abstract
We use the idea of self-adjusting trees to create new, simple data structures for priority queues (which we call heaps) and search trees. Unlike other efficient implementations of these data structures, self-adjusting trees have no balance condition. Instead, whenever the tree is accessed, certain adjustments take place. (In the case of heaps, the adjustment is a sequence of exchanges of children, in the case of search trees the adjustment is a sequence of rotations.) Self-adjusting trees are efficient in an amortized sense: any particular operation may be slow but any sequence of operations must be fast.
Daniel Dominic Sleator, Robert E. Tarjan
STOC1
1983 A Data Structure for Dynamic Trees
Daniel Dominic Sleator, Robert E. Tarjan
J. Comput. Syst. Sci.1
1981 A Data Structure for Dynamic Trees
abstract
A data structure is proposed to maintain a collection of vertex-disjoint trees under a sequence of two kinds of operations: a link operation that combines two trees into one by adding an edge, and a cut operation that divides one tree into two by deleting an edge. Each operation requires O(log n) time. Using this data structure, new fast algorithms are obtained for the following problems: (1) Computing nearest common ancestors. (2) Solving various network flow problems including finding maximum flows, blocking flows, and acyclic flows. (3) Computing certain kinds of constrained minimum spanning trees. (4) Implementing the network simplex algorithm for minimum-cost flows. The most significant application is (2); an O(mn log n)-time algorithm is obtained to find a maximum flow in a network of n vertices and m edges, beating by a factor of log n the fastest algorithm previously known for sparse graphs.
Daniel Dominic Sleator, Robert E. Tarjan
STOC1
1980 Biased 2-3 Trees
abstract
We describe a new data structure for maintaining collections of weighted items. The access time for an item of weight w in a collection of total weight W is proportional to log(W/w) in the worst case (which is optimal in a certain sense), and several other useful operations can be made to work just, as fast. The data structure is simpler than previous proposals, but the running time must be amortized over a sequence of operations to achieve the time bounds.
Samuel W. Bent, Daniel Dominic Sleator, Robert E. Tarjan
FOCS2
1980 A 2.5 Times Optimal Algorithm for Packing in Two Dimensions
Daniel Dominic Sleator
Inf. Process. Lett.1