Main Page | See live article | Alphabetical index

Self-balancing binary search tree

In computing, a self-balancing binary search tree is a binary search tree that attempts to keep its height, or the number of level of nodes beneath the root, as small as possible at all times, automatically. This is important, because most operations on a binary search tree take time proportional to the tree's height, and ordinary binary search trees can attain very large heights in rather ordinary situations, such as when the keys are inserted in order. Keeping the height small is usually accomplished by performing transformations on the tree at key times.

Times for various operations in terms of number of nodes in the tree n:
OperationWorst-case big-O time
LookupO(log n)
InsertionO(log n)
RemovalO(log n)
In-order iterationO(n)
For some implementations these times are amortized, not worst-case.

Popular data structures implementing this type of tree include

See these pages for more information.

This article is a stub. You can help Wikipedia by fixing it.