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, such as rotations, 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

This article is a stub. You can help BambooWeb by .






  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License