HOME
*





Interleave Lower Bound
In the theory of optimal binary search trees, the interleave lower bound is a lower bound on the number of operations required by a Binary Search Tree (BST) to execute a given sequence of accesses. Several variants of this lower bound have been proven. This article is based on a variation of the first Wilber's bound. This lower bound is used in the design and analysis of Tango tree. Furthermore, this lower bound can be rephrased and proven geometrically, Geometry of binary search trees. Definition The bound is based on a fixed ''perfect BST'' P , called the lower bound tree, over the keys \. For example, for n = 7 , P can be represented by the following parenthesis structure: :: .html"_;"title="[1">[12_[3_4_([5.html" ;"title="">[12_[3.html" ;"title=".html" ;"title="[1">[12 [3">.html" ;"title="[1">[12 [3 4 ([5">">[12_[3.html" ;"title=".html" ;"title="[1">[12 [3">.html" ;"title="[1">[12 [3 4 ([56 [7])] For each node y in P , define: * Left(y) to be the set of nodes i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Optimal Binary Search Tree
In computer science, an optimal binary search tree (Optimal BST), sometimes called a weight-balanced binary tree, is a binary search tree which provides the smallest possible search time (or expected search time) for a given sequence of accesses (or access probabilities). Optimal BSTs are generally divided into two types: static and dynamic. In the static optimality problem, the tree cannot be modified after it has been constructed. In this case, there exists some particular layout of the nodes of the tree which provides the smallest expected search time for the given access probabilities. Various algorithms exist to construct or approximate the statically optimal tree given the information on the access probabilities of the elements. In the dynamic optimality problem, the tree can be modified at any time, typically by permitting tree rotations. The tree is considered to have a cursor starting at the root which it can move or use to perform modifications. In this case, there exis ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Asymptotically Optimal
In computer science, an algorithm is said to be asymptotically optimal if, roughly speaking, for large inputs it performs at worst a constant factor (independent of the input size) worse than the best possible algorithm. It is a term commonly encountered in computer science research as a result of widespread use of big-O notation. More formally, an algorithm is asymptotically optimal with respect to a particular resource if the problem has been proven to require of that resource, and the algorithm has been proven to use only These proofs require an assumption of a particular model of computation, i.e., certain restrictions on operations allowable with the input data. As a simple example, it's known that all comparison sorts require at least comparisons in the average and worst cases. Mergesort and heapsort are comparison sorts which perform comparisons, so they are asymptotically optimal in this sense. If the input data have some ''a priori'' properties which can be explo ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Tango Tree
A tango tree is a type of binary search tree proposed by Erik D. Demaine, Dion Harmon, John Iacono, and Mihai Pătrașcu in 2004. It is named after Buenos Aires, of which the tango is emblematic. It is an online binary search tree that achieves an O(\log \log n) competitive ratio relative to the offline optimal binary search tree, while only using O(\log \log n) additional bits of memory per node. This improved upon the previous best known competitive ratio, which was O(\log n). Structure Tango trees work by partitioning a binary search tree into a set of ''preferred paths'', which are themselves stored in auxiliary trees (so the tango tree is represented as a tree of trees). Reference tree To construct a tango tree, we simulate a complete binary search tree called the ''reference tree'', which is simply a traditional binary search tree containing all the elements. This tree never shows up in the actual implementation, but is the conceptual basis behind the following pieces of ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Geometry Of Binary Search Trees
In computer science, one approach to the dynamic optimality problem on online algorithms for binary search trees involves reformulating the problem geometrically, in terms of augmenting a set of points in the plane with as few additional points as possible in order to avoid rectangles with only two points on their boundary. Access sequences and competitive ratio As typically formulated, the online binary search tree problem involves search trees defined over a fixed key set \. An ''access sequence'' is a sequence x_1, x_2, ... where each access x_i belongs to the key set. Any particular algorithm for maintaining binary search trees (such as the splay tree algorithm or Iacono's working set structure) has a ''cost'' for each access sequence that models the amount of time it would take to use the structure to search for each of the keys in the access sequence in turn. The cost of a search is modeled by assuming that the search tree algorithm has a single pointer into a binary search ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Lowest Common Ancestor
In graph theory and computer science, the lowest common ancestor (LCA) (also called least common ancestor) of two nodes and in a Tree (graph theory), tree or directed acyclic graph (DAG) is the lowest (i.e. deepest) node that has both and as descendants, where we define each node to be a descendant of itself (so if has a direct connection from , is the lowest common ancestor). The LCA of and in is the shared ancestor of and that is located farthest from the root. Computation of lowest common ancestors may be useful, for instance, as part of a procedure for determining the distance between pairs of nodes in a tree: the distance from to can be computed as the distance from the root to , plus the distance from the root to , minus twice the distance from the root to their lowest common ancestor . In ontology (information science), ontologies, the lowest common ancestor is also known as the least common ancestor. In a tree data structure where each node points to its pa ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Optimal Binary Search Tree
In computer science, an optimal binary search tree (Optimal BST), sometimes called a weight-balanced binary tree, is a binary search tree which provides the smallest possible search time (or expected search time) for a given sequence of accesses (or access probabilities). Optimal BSTs are generally divided into two types: static and dynamic. In the static optimality problem, the tree cannot be modified after it has been constructed. In this case, there exists some particular layout of the nodes of the tree which provides the smallest expected search time for the given access probabilities. Various algorithms exist to construct or approximate the statically optimal tree given the information on the access probabilities of the elements. In the dynamic optimality problem, the tree can be modified at any time, typically by permitting tree rotations. The tree is considered to have a cursor starting at the root which it can move or use to perform modifications. In this case, there exis ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]