Search Tree

In computer science, a search tree is a binary tree data structure in whose nodes data values are stored from some ordered set, in such a way that in-order traversal of the tree visits the nodes in ascending order of the stored values. This means that for any internal node containing a value v, the values x stored in its left subtree satisfy xv, and the values y stored in its right subtree satisfy vy. Each subtree of a search tree is by itself again a search tree.

Search trees can implement the data type of (finite) multisets. The advantage of using search trees is that the test for membership can be performed efficiently provided that the tree is reasonably balanced, that is, the leaves of the tree are at comparable depths. Various search-tree data structures exist, several of which also allow efficient insertion and deletion of elements, which operations then have to maintain tree balance. If the multiset being represented is immutable, this is not an issue.

Search trees can also implement associative arrays by storing key–value pairs, where the ordering is based on the key part of these pairs.

In some kinds of search trees the data values are all stored in the leaves of the tree. In that case some additional information needs to be stored in the internal tree nodes to make efficient operations possible.

Read more about Search Tree:  Examples

Famous quotes containing the words search and/or tree:

    You will never be happy if you continue to search for what happiness consists of. You will never live if you are looking for the meaning of life.
    Albert Camus (1913–1960)

    The problems of the world, AIDS, cancer, nuclear war, pollution, are, finally, no more solvable than the problem of a tree which has borne fruit: the apples are overripe and they are falling—what can be done?... Nothing can be done, and nothing needs to be done. Something is being done—the organism is preparing to rest.
    David Mamet (b. 1947)