Publication | Open Access
Self-adjusting binary search trees
1.2K
Citations
27
References
1985
Year
Mathematical ProgrammingEngineeringComputer ArchitectureComputational ComplexityStorage StructureData StructureInformation RetrievalData ScienceDecision TreeParallel ComputingCombinatorial OptimizationData ManagementVery Large DatabaseSplay TreesComputer ScienceDatabase TechnologyExternal-memory AlgorithmData IndexingRelational QueriesParallel ProgrammingSearch TechniqueSplay Tree
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1