An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one. Lookup, insertion, and deletion all take O(log n) time in both the average and worst cases, where n is the number of nodes in the tree prior to the operation. Insertions and deletions may require the tree to be rebalanced by one or more tree rotations.

AVL trees are more rigidly balanced than red-black trees, leading to slower insertion and removal but faster retrieval

Performance

BestWorst
SpaceO(n)O(n)
SearchO(log n)O(log n)
InsertO(log n)O(log n)
DeleteO(log n)O(log n)

Extends

Constructor

Defined collections/AVLTree.js

License

MIT https://github.com/C2FO/comb/raw/master/LICENSE

Meta