AvlTree
Defined in: packages/data/src/tree/avl-tree.ts:35
A self-balancing binary search tree: a BinarySearchTree that keeps every node’s two subtrees within one level of each other.
That invariant bounds the height at ~1.44 log₂(n), so every operation is
O(log n) in the worst case — including the sorted-input case that degenerates
a plain BinarySearchTree into a linked list. The price is a height field
per node and up to O(log n) rotations per insert or delete. Prefer this
unless the input is known to arrive unordered.
AVL keeps a tighter height bound than a red-black tree, so lookups are slightly faster and mutations slightly slower; pick on which dominates.
Extends
Section titled “Extends”Type Parameters
Section titled “Type Parameters”T extends DefinedValue
The element type. Anything except undefined.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new AvlTree<
T>(iterable?,options?):AvlTree<T>
Defined in: packages/data/src/tree/avl-tree.ts:36
Parameters
Section titled “Parameters”iterable?
Section titled “iterable?”Iterable<T, any, any>
options?
Section titled “options?”Returns
Section titled “Returns”AvlTree<T>
Overrides
Section titled “Overrides”Properties
Section titled “Properties”comparator
Section titled “comparator”
readonlycomparator:Comparator<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:51
Inherited from
Section titled “Inherited from”Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get root():
IBinaryTreeNode<T> |null
Defined in: packages/data/src/tree/binary-search-tree.ts:62
The root, or null when empty. Exposed by ISearchTree for traversal.
Returns
Section titled “Returns”IBinaryTreeNode<T> | null
Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”[iterator]()
Section titled “[iterator]()”[iterator]():
Iterator<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:67
In-order, so ascending under the comparator.
Returns
Section titled “Returns”Iterator<T>
Inherited from
Section titled “Inherited from”add(
value):void
Defined in: packages/data/src/tree/binary-search-tree.ts:81
O(h). A value already held is not re-added.
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”addAll()
Section titled “addAll()”addAll(
values):void
Defined in: packages/data/src/tree/binary-search-tree.ts:119
O(m·h) in the number of values.
Parameters
Section titled “Parameters”values
Section titled “values”Iterable<T>
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”ceiling()
Section titled “ceiling()”ceiling(
query):T|undefined
Defined in: packages/data/src/tree/binary-search-tree.ts:178
The smallest element >= query. O(h).
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”T | undefined
Inherited from
Section titled “Inherited from”clear()
Section titled “clear()”clear():
void
Defined in: packages/data/src/tree/binary-search-tree.ts:75
Removes all elements from the collection.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”count()
Section titled “count()”count():
number
Defined in: packages/data/src/tree/binary-search-tree.ts:71
The number of elements in the collection.
A method, not a getter: its async counterpart needs a round trip to the backing store, and a member must have the same shape in both.
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”delete()
Section titled “delete()”delete(
value):boolean
Defined in: packages/data/src/tree/binary-search-tree.ts:131
O(h).
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”difference()
Section titled “difference()”difference(
other):ISet<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:266
O((n + m) log n). Ascending.
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”ISet<T>
Inherited from
Section titled “Inherited from”floor()
Section titled “floor()”floor(
query):T|undefined
Defined in: packages/data/src/tree/binary-search-tree.ts:155
The largest element <= query. O(h).
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”T | undefined
Inherited from
Section titled “Inherited from”has(
value):boolean
Defined in: packages/data/src/tree/binary-search-tree.ts:126
O(h).
Parameters
Section titled “Parameters”T
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”height()
Section titled “height()”height():
number
Defined in: packages/data/src/tree/avl-tree.ts:45
The longest root-to-leaf path, in nodes. 0 when empty. O(1).
Returns
Section titled “Returns”number
intersection()
Section titled “intersection()”intersection(
other):ISet<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:253
O(m log n). Ascending.
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”ISet<T>
Inherited from
Section titled “Inherited from”isDisjointFrom()
Section titled “isDisjointFrom()”isDisjointFrom(
other):boolean
Defined in: packages/data/src/tree/binary-search-tree.ts:321
O(m log n).
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”BinarySearchTree.isDisjointFrom
isSubsetOf()
Section titled “isSubsetOf()”isSubsetOf(
other):boolean
Defined in: packages/data/src/tree/binary-search-tree.ts:296
O(n log m).
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”isSupersetOf()
Section titled “isSupersetOf()”isSupersetOf(
other):boolean
Defined in: packages/data/src/tree/binary-search-tree.ts:310
O(m log n).
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”max():
T|undefined
Defined in: packages/data/src/tree/binary-search-tree.ts:150
The largest element. O(h).
Returns
Section titled “Returns”T | undefined
Inherited from
Section titled “Inherited from”min():
T|undefined
Defined in: packages/data/src/tree/binary-search-tree.ts:145
The smallest element. O(h).
Returns
Section titled “Returns”T | undefined
Inherited from
Section titled “Inherited from”range()
Section titled “range()”range(
from?,to?):IterableIterator<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:206
Every element in [from, to), ascending. O(h + k) in the number yielded.
Parameters
Section titled “Parameters”T
Inclusive lower bound. Unbounded when omitted.
T
Exclusive upper bound. Unbounded when omitted.
Returns
Section titled “Returns”IterableIterator<T>
Inherited from
Section titled “Inherited from”symmetricDifference()
Section titled “symmetricDifference()”symmetricDifference(
other):ISet<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:279
O((n + m) log n). Ascending.
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”ISet<T>
Inherited from
Section titled “Inherited from”BinarySearchTree.symmetricDifference
union()
Section titled “union()”union(
other):ISet<T>
Defined in: packages/data/src/tree/binary-search-tree.ts:243
O((n + m) log n). Ascending.
Parameters
Section titled “Parameters”Iterable<T>
Returns
Section titled “Returns”ISet<T>