MAryTree.Tree
Name | Type |
---|---|
K |
TreeKey |
D |
TreeData |
- [iterator]
- breadthFirstTraversal
- connectLeftNeighbor
- depth
- find
- height
- inOrderTraversal
- insert
- leftDescendantTraversal
- leftMostDescendant
- leftSiblingTraversal
- postOrderTraversal
- preOrderTraversal
- remove
- rowTraversal
• new Tree<K
, D
>(key
, data?
, options?
)
Name | Type |
---|---|
K |
TreeKey |
D |
TreeData |
Name | Type |
---|---|
key |
K |
data? |
D |
options |
TreeOptions |
• options: TreeOptions
Memberof
Tree
Member
options stored options passed in on object construction
• root: TreeNode
<K
, D
>
Memberof
Tree
Member
root reference to the tree's root node
▸ [iterator](): Generator
<TreeNode
<K
, D
>, void
, unknown
>
Generator
<TreeNode
<K
, D
>, void
, unknown
>
▸ breadthFirstTraversal(root?
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates nodes in an breadth-first traversal
Generator
Yields
Name | Type |
---|---|
root |
TreeNode <K , D > |
Generator
<TreeNode
<K
, D
>, any
, unknown
>
▸ connectLeftNeighbor(): void
Perform a breadth-first traversal and connect all left neighbors by setting TreeNode.leftNeighbor.
The left neighbor is defined as being to the left in the same row, but not part of the same sub-tree as this nodes parent.
void
▸ depth(node?
): number
Return depth of a node.
Name | Type |
---|---|
node |
TreeNode <K , D > |
number
▸ find(key
): TreeNode
<K
, D
>
Find a node by supplying its key.
Name | Type |
---|---|
key |
K |
TreeNode
<K
, D
>
▸ height(node?
): number
Return the height of a node.
Name | Type |
---|---|
node |
TreeNode <K , D > |
number
▸ inOrderTraversal(root?
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates nodes in an in-order traversal
Generator
Yields
Name | Type |
---|---|
root |
TreeNode <K , D > |
Generator
<TreeNode
<K
, D
>, any
, unknown
>
▸ insert(parentNodeKey
, key
, data?
): TreeNode
<K
, D
>
Insert a new child node at the given parent key.
Name | Type |
---|---|
parentNodeKey |
K |
key |
K |
data? |
Tree <K , D > | D |
TreeNode
<K
, D
>
▸ leftDescendantTraversal(node?
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates left-descendant nodes
Generator
Yields
Name | Type | Default value |
---|---|---|
node |
TreeNode <K , D > |
null |
Generator
<TreeNode
<K
, D
>, any
, unknown
>
▸ leftMostDescendant(root?
, depth?
): TreeNode
<K
, D
>
Return left most descendent for a node.
The left-most descendent is defined as the left most node in the sub-tree at given depth.
Name | Type | Default value |
---|---|---|
root |
TreeNode <K , D > |
undefined |
depth |
number |
0 |
TreeNode
<K
, D
>
▸ leftSiblingTraversal(node?
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates left-sibling nodes
Generator
Yields
Name | Type | Default value |
---|---|---|
node |
TreeNode <K , D > |
null |
Generator
<TreeNode
<K
, D
>, any
, unknown
>
▸ postOrderTraversal(root?
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates nodes in a post-order traversal
Generator
Yields
Name | Type |
---|---|
root |
TreeNode <K , D > |
Generator
<TreeNode
<K
, D
>, any
, unknown
>
▸ preOrderTraversal(root?
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates nodes in an pre-order traversal
Generator
Yields
Name | Type |
---|---|
root |
TreeNode <K , D > |
Generator
<TreeNode
<K
, D
>, any
, unknown
>
▸ remove(key
): boolean
Remove a given node by its key
Name | Type | Description |
---|---|---|
key |
K |
the tree key to remove |
boolean
true if the node was found, false if it was not found.
▸ rowTraversal(n
): Generator
<TreeNode
<K
, D
>, any
, unknown
>
Generates nodes at a single depth
Generator
Yields
Name | Type |
---|---|
n |
number |
Generator
<TreeNode
<K
, D
>, any
, unknown
>