goog.structs.AvlTree
Classgoog.structs.AvlTree(opt_comparator)
Constructs an AVL-Tree, which uses the specified comparator to order its values. The values can be accessed efficiently in their sorted order since the tree enforces a O(logn) maximum height.
opt_comparator
{Function
=}
goog.structs.AvlTree.Node
ClassConstructs an AVL-Tree node with the specified value. If no parent is specified, the node's parent is assumed to be null. The node's height defaults to 1 and its children default to null. … more
.add(value)
Inserts a node into the tree with the specified value if the tree does not already contain a node with the specified value. If the value is inserted, the tree is balanced to enforce the AVL-Tree height property.
value
{*}
boolean
}
.clear()
Removes all nodes from the tree.
.contains(value)
Returns true if the tree contains a node with the specified value, false otherwise.
value
{*}
boolean
}
.getCount()
Returns the number of values stored in the tree.
number
}
.getHeight()
Returns the height of the tree (the maximum depth). This height should always be <= 1.4405*(Math.log(n+2)/Math.log(2))-1.3277, where n is the number of nodes in the tree.
number
}
.getMaximum()
Returns the value u, such that u is contained in the tree and u > v, for all values v in the tree where v != u.
.getMinimum()
Returns the value u, such that u is contained in the tree and u < v, for all values v in the tree where v != u.
.getValues()
Inserts the values stored in the tree into a new Array and returns the Array.
Array
}
.inOrderTraverse(func, opt_startValue)
Performs an in-order traversal of the tree and calls {@code func} with each traversed node, optionally starting from the smallest node with a value >= to the specified start value. The traversal ends after traversing the tree's maximum node or when {@code func} returns a value that evaluates to true.
func
{Function
}
opt_startValue
{Object
=}
.remove(value)
Removes a node from the tree with the specified value if the tree contains a node with this value. If a node is removed the tree is balanced to enforce the AVL-Tree height property. The value of the removed node is returned.
value
{*}
.reverseOrderTraverse(func, opt_startValue)
Performs a reverse-order traversal of the tree and calls {@code func} with each traversed node, optionally starting from the largest node with a value <= to the specified start value. The traversal ends after traversing the tree's minimum node or when func returns a value that evaluates to true.
func
{Function
}
opt_startValue
{Object
=}