Class AVLTree<T>

Type Parameters

  • T

Hierarchy

  • BST<T>
    • AVLTree

Constructors

  • The constructor function accepts an optional options object and sets the comparator property if provided.

    Type Parameters

    • T

    Parameters

    • Optional options: {
          comparator?: BSTComparator;
          loopType?: LoopType;
      }

      An optional object that can contain the following properties:

      • Optional comparator?: BSTComparator
      • Optional loopType?: LoopType

    Returns AVLTree<T>

Properties

_comparator: BSTComparator = ...
_count: number = 0
_loopType: LoopType = LoopType.iterative
_root: null | BinaryTreeNode<T> = null
_size: number = 0
_visitedCount: number[] = []
_visitedId: number[] = []
_visitedLeftSum: number[] = []
_visitedNode: BinaryTreeNode<T>[] = []
_visitedVal: T[] = []

Accessors

Methods

  • The BFS function performs a breadth-first search on a binary tree and returns the results based on a specified node or property name.

    Returns number[]

    an object of type ResultsByProperty<T>.

  • The BFS function performs a breadth-first search on a binary tree and returns the results based on a specified node or property name.

    Parameters

    • nodeOrPropertyName: "id"

      The parameter nodeOrPropertyName is an optional parameter that represents either a node or a property name. If a node is provided, the breadth-first search algorithm will be performed starting from that node. If a property name is provided, the breadth-first search algorithm will be performed starting from the root node

    Returns number[]

    an object of type ResultsByProperty<T>.

  • The BFS function performs a breadth-first search on a binary tree and returns the results based on a specified node or property name.

    Parameters

    • nodeOrPropertyName: "val"

      The parameter nodeOrPropertyName is an optional parameter that represents either a node or a property name. If a node is provided, the breadth-first search algorithm will be performed starting from that node. If a property name is provided, the breadth-first search algorithm will be performed starting from the root node

    Returns T[]

    an object of type ResultsByProperty<T>.

  • The BFS function performs a breadth-first search on a binary tree and returns the results based on a specified node or property name.

    Parameters

    • nodeOrPropertyName: "node"

      The parameter nodeOrPropertyName is an optional parameter that represents either a node or a property name. If a node is provided, the breadth-first search algorithm will be performed starting from that node. If a property name is provided, the breadth-first search algorithm will be performed starting from the root node

    Returns BinaryTreeNode<T>[]

    an object of type ResultsByProperty<T>.

  • The BFS function performs a breadth-first search on a binary tree and returns the results based on a specified node or property name.

    Parameters

    • nodeOrPropertyName: "count"

      The parameter nodeOrPropertyName is an optional parameter that represents either a node or a property name. If a node is provided, the breadth-first search algorithm will be performed starting from that node. If a property name is provided, the breadth-first search algorithm will be performed starting from the root node

    Returns number[]

    an object of type ResultsByProperty<T>.

  • The DFS function performs a depth-first search traversal on a binary tree and returns the results based on the specified pattern and node or property name.

    Returns number[]

    an object of type ResultsByProperty<T>.

  • The DFS function performs a depth-first search traversal on a binary tree and returns the results based on the specified pattern and node or property name.

    Parameters

    • Optional pattern: DFSOrderPattern

      The "pattern" parameter is used to specify the order in which the nodes of a binary tree are traversed during the Depth-First Search (DFS) algorithm. It can take one of three values: 'in', 'pre', or 'post'.

    • Optional nodeOrPropertyName: "id"

      The nodeOrPropertyName parameter is a string that represents either the name of a property in the BinaryTreeNode object or the value of the id property in the BinaryTreeNode object. This parameter is used to accumulate the results based on the specified property name. If no value

    Returns number[]

    an object of type ResultsByProperty<T>.

  • The DFS function performs a depth-first search traversal on a binary tree and returns the results based on the specified pattern and node or property name.

    Parameters

    • Optional pattern: DFSOrderPattern

      The "pattern" parameter is used to specify the order in which the nodes of a binary tree are traversed during the Depth-First Search (DFS) algorithm. It can take one of three values: 'in', 'pre', or 'post'.

    • Optional nodeOrPropertyName: "val"

      The nodeOrPropertyName parameter is a string that represents either the name of a property in the BinaryTreeNode object or the value of the id property in the BinaryTreeNode object. This parameter is used to accumulate the results based on the specified property name. If no value

    Returns T[]

    an object of type ResultsByProperty<T>.

  • The DFS function performs a depth-first search traversal on a binary tree and returns the results based on the specified pattern and node or property name.

    Parameters

    • Optional pattern: DFSOrderPattern

      The "pattern" parameter is used to specify the order in which the nodes of a binary tree are traversed during the Depth-First Search (DFS) algorithm. It can take one of three values: 'in', 'pre', or 'post'.

    • Optional nodeOrPropertyName: "node"

      The nodeOrPropertyName parameter is a string that represents either the name of a property in the BinaryTreeNode object or the value of the id property in the BinaryTreeNode object. This parameter is used to accumulate the results based on the specified property name. If no value

    Returns BinaryTreeNode<T>[]

    an object of type ResultsByProperty<T>.

  • The DFS function performs a depth-first search traversal on a binary tree and returns the results based on the specified pattern and node or property name.

    Parameters

    • Optional pattern: DFSOrderPattern

      The "pattern" parameter is used to specify the order in which the nodes of a binary tree are traversed during the Depth-First Search (DFS) algorithm. It can take one of three values: 'in', 'pre', or 'post'.

    • Optional nodeOrPropertyName: "count"

      The nodeOrPropertyName parameter is a string that represents either the name of a property in the BinaryTreeNode object or the value of the id property in the BinaryTreeNode object. This parameter is used to accumulate the results based on the specified property name. If no value

    Returns number[]

    an object of type ResultsByProperty<T>.

  • The function _accumulatedByPropertyName pushes a property value of a binary tree node into an array based on the provided property name or a default property name.

    Parameters

    • node: BinaryTreeNode<T>

      The node parameter is of type BinaryTreeNode<T>, which represents a node in a binary tree.

    • Optional nodeOrPropertyName: NodeOrPropertyName

      The parameter nodeOrPropertyName is an optional parameter that can be either a string representing a property name or a reference to a node object. If it is a string, it specifies the property name of the node that should be accumulated. If it is a node object, it specifies the node itself

    Returns void

  • The function compares two binary tree node IDs using a comparator function and returns whether the first ID is greater than, less than, or equal to the second ID.

    Parameters

    • a: number

      a is a BinaryTreeNodeId, which represents the identifier of a binary tree node.

    • b: number

      The parameter "b" in the above code refers to a BinaryTreeNodeId.

    Returns CP

    a value of type CP (ComparisonResult). The possible return values are CP.gt (greater than), CP.lt (less than), or CP.eq (equal).

  • The function _getResultByPropertyName returns different results based on the provided property name or defaulting to 'id'.

    Parameters

    • Optional nodeOrPropertyName: NodeOrPropertyName

      The parameter nodeOrPropertyName is an optional parameter that can accept a value of type NodeOrPropertyName.

    Returns ResultsByProperty<T>

    The method returns an object of type ResultsByProperty<T>.

  • The function checks if a given property of a binary tree node matches a specified value, and if so, adds the node to a result array.

    Parameters

    • cur: BinaryTreeNode<T>

      The current binary tree node that is being checked.

    • result: (undefined | null | BinaryTreeNode<T>)[]

      An array that stores the matching nodes found during the traversal.

    • nodeProperty: number | T

      The nodeProperty parameter is the value that we are searching for in the binary tree nodes. It can be either the id, count, or val property of the node.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode object that you want to compare with the nodeProperty value. It can be one of the following values: 'id', 'count', or 'val'. If no propertyName is provided,

    • Optional onlyOne: boolean

      The onlyOne parameter is an optional boolean parameter that determines whether to stop after finding the first matching node or continue searching for all matching nodes. If onlyOne is set to true, the function will stop after finding the first matching node and return true. If `onlyOne

    Returns undefined | boolean

    a boolean value indicating whether or not a node was pushed into the result array.

  • The function overrides the add method of a Binary Search Tree to insert a node with a given id and value, and then balances the tree.

    Parameters

    • id: number

      The id parameter is the identifier of the binary tree node that we want to add or update in the AVL tree.

    • val: null | T

      The val parameter represents the value that you want to assign to the node with the given id. It can be of type T (the generic type) or null.

    • Optional count: number

      The count parameter is an optional parameter of type number. It represents the number of times the value val should be inserted into the AVL tree. If the count parameter is not provided, it defaults to 1, indicating that the value should be inserted once.

    Returns null | AVLTreeNode<T>

    The method is returning either an AVLTreeNode object or null.

  • The addMany function inserts multiple items into a binary tree and returns an array of the inserted nodes or null/undefined values.

    Parameters

    • data: BinaryTreeNode<T>[] | T[]

      The data parameter can be either an array of elements of type T or an array of BinaryTreeNode<T> objects.

    Returns (undefined | null | BinaryTreeNode<T>)[]

    The function addMany returns an array of BinaryTreeNode<T>, null, or undefined values.

  • The function inserts a new node into a binary tree as the left or right child of a given parent node.

    Parameters

    • newNode: null | BinaryTreeNode<T>

      The newNode parameter is an instance of the BinaryTreeNode class or null. It represents the node that needs to be inserted into the binary tree.

    • parent: BinaryTreeNode<T>

      The parent parameter is a BinaryTreeNode object representing the parent node to which the new node will be inserted as a child.

    Returns undefined | null | BinaryTreeNode<T>

    The method returns the newly inserted node, either as the left child or the right child of the parent node.

  • The function allGreaterNodesAdd updates the value of a specified property for all nodes in a binary search tree that have a greater value than a given node.

    Parameters

    • node: BSTNode<T>

      The node parameter is of type BSTNode<T>, which represents a node in a binary search tree. It contains properties such as id and count.

    • delta: number

      The delta parameter is a number that represents the amount by which the property value of each node should be increased.

    • Optional propertyName: BinaryTreeNodePropertyName

      propertyName is an optional parameter that specifies the property of the BSTNode to be modified. It can be either 'id' or 'count'. If propertyName is not provided, it defaults to 'id'.

    Returns boolean

    a boolean value.

  • The balance function takes a sorted array of nodes and builds a balanced binary search tree using either a recursive or iterative approach.

    Returns boolean

    The balance() function returns a boolean value.

  • The balance factor of a given AVL tree node is calculated by subtracting the height of its left subtree from the height of its right subtree.

    Parameters

    • node: AVLTreeNode<T>

      The parameter "node" is of type AVLTreeNode, which represents a node in an AVL tree.

    Returns number

    The balance factor of the given AVL tree node.

  • The balancePath function balances the AVL tree by performing appropriate rotations based on the balance factor of each node in the path from the given node to the root.

    Parameters

    • node: AVLTreeNode<T>

      The node parameter is an AVLTreeNode object, which represents a node in an AVL tree.

    Returns void

  • The function creates a new binary tree node with the given id, value, and count, or returns null if the value is null.

    Parameters

    • id: number

      The id parameter is the identifier for the binary tree node. It is of type BinaryTreeNodeId, which could be a string or a number, depending on how you want to identify your nodes.

    • val: T

      The val parameter represents the value to be stored in the binary tree node. It can be of any type T or null.

    • Optional count: number

      The count parameter is an optional parameter that represents the number of occurrences of the value in the binary tree node. It is of type number.

    Returns AVLTreeNode<T>

    The function createNode returns a BinaryTreeNode<T> object if the val parameter is not null. Otherwise, it returns null.

  • The fill function clears the current data and inserts new data, returning a boolean indicating if the insertion was successful.

    Parameters

    • data: BinaryTreeNode<T>[] | T[]

      The data parameter can be either an array of elements of type T or an array of BinaryTreeNode<T> objects.

    Returns boolean

    The method is returning a boolean value.

  • The get function returns the first node in a binary search tree that matches the given property value or name.

    Parameters

    • nodeProperty: number | T

      The nodeProperty parameter can be either a BinaryTreeNodeId or a generic type T. It represents the value of the property that you want to search for in the binary search tree.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the property name to use for searching the binary search tree nodes. If not provided, it defaults to 'id'.

    Returns null | BSTNode<T>

    The method is returning a BSTNode object or null.

  • The function calculates the depth of a binary tree node by traversing its parent nodes.

    Parameters

    • node: BinaryTreeNode<T>

      BinaryTreeNode - This is the node for which we want to calculate the depth. It is a generic type, meaning it can represent any type of data that we want to store in the node.

    Returns number

    The depth of the given binary tree node.

  • The getHeight function calculates the maximum height of a binary tree using either a recursive or iterative approach.

    Parameters

    • Optional beginRoot: null | BinaryTreeNode<T>

      The beginRoot parameter is an optional parameter of type BinaryTreeNode<T> | null. It represents the starting node from which to calculate the height of the binary tree. If no value is provided for beginRoot, the function will use the root property of the class instance as

    Returns number

    the height of the binary tree.

  • The getLeftMost function returns the leftmost node in a binary tree, either recursively or iteratively using tail recursion optimization.

    Returns null | BinaryTreeNode<T>

    The getLeftMost function returns the leftmost node in a binary tree.

  • The getLeftMost function returns the leftmost node in a binary tree, either recursively or iteratively using tail recursion optimization.

    Parameters

    • node: BinaryTreeNode<T>

      The node parameter is an optional parameter of type BinaryTreeNode<T> | null. It represents the starting node from which to find the leftmost node in a binary tree. If no node is provided, the function will use the root node of the binary tree.

    Returns BinaryTreeNode<T>

    The getLeftMost function returns the leftmost node in a binary tree.

  • The getMinHeight function calculates the minimum height of a binary tree using either a recursive or iterative approach.

    Parameters

    • Optional beginRoot: null | BinaryTreeNode<T>

      The beginRoot parameter is an optional parameter of type BinaryTreeNode<T> | null. It represents the starting node from which to calculate the minimum height of the binary tree. If no value is provided for beginRoot, the function will use the root node of the binary tree.

    Returns number

    The function getMinHeight returns the minimum height of the binary tree.

  • The function getNodes returns an array of binary search tree nodes that match a given property value, with the option to specify the property name and whether to return only one node.

    Parameters

    • nodeProperty: number | T

      The nodeProperty parameter can be either a BinaryTreeNodeId or a generic type T. It represents the property value that you want to search for in the binary search tree.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the property of the nodes to compare with the nodeProperty parameter. If not provided, it defaults to 'id'.

    • Optional onlyOne: boolean

      A boolean value indicating whether to return only one node that matches the given nodeProperty. If set to true, the function will stop traversing the tree and return the first matching node. If set to false or not provided, the function will return all nodes that match the given nodeProperty.

    Returns BSTNode<T>[]

    an array of BSTNode objects.

  • The getRightMost function returns the rightmost node in a binary tree, either recursively or iteratively using tail recursion optimization.

    Returns null | BinaryTreeNode<T>

    The getRightMost function returns the rightmost node in a binary tree.

  • The getRightMost function returns the rightmost node in a binary tree, either recursively or iteratively using tail recursion optimization.

    Parameters

    • node: BinaryTreeNode<T>

      The node parameter is an optional parameter of type BinaryTreeNode<T> | null. It represents the starting node from which to find the rightmost node in a binary tree. If no node is provided, the function will use the root node of the binary tree.

    Returns BinaryTreeNode<T>

    The getRightMost function returns the rightmost node in a binary tree.

  • The function calculates the size and count of a subtree in a binary tree using either recursive or iterative traversal.

    Parameters

    • subTreeRoot: undefined | null | BinaryTreeNode<T>

      The subTreeRoot parameter is the root node of a binary tree.

    Returns [number, number]

    The function getSubTreeSizeAndCount returns an array [number, number]. The first element of the array represents the size of the subtree, and the second element represents the count of the nodes in the subtree.

  • The function checks if a binary tree node has a specific property or if any node in the tree has a specific property.

    Parameters

    • nodeProperty: number | T

      The nodeProperty parameter can be either a BinaryTreeNodeId or a generic type T. It represents the property of a binary tree node that you want to check.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the name of the property to check for in the nodes.

    Returns boolean

    a boolean value.

  • The function isAVLBalanced checks if a binary search tree is balanced according to the AVL tree property.

    Returns boolean

    The function isAVLBalanced() returns a boolean value. It returns true if the binary search tree (BST) is balanced according to the AVL tree property, and false otherwise.

  • The isBST function checks if a binary tree is a binary search tree.

    Parameters

    • Optional node: null | BinaryTreeNode<T>

      The node parameter is an optional parameter of type BinaryTreeNode<T> | null. It represents the root node of the binary search tree (BST) that we want to check for validity. If no node is provided, the function will default to using the root node of the BST instance that

    Returns boolean

    The isBST function returns a boolean value. It returns true if the binary tree is a valid binary search tree, and false otherwise.

  • The function checks if a binary tree is balanced by comparing the minimum height and the maximum height of the tree.

    Parameters

    • Optional beginRoot: null | BinaryTreeNode<T>

      The beginRoot parameter is the root node of a binary tree. It is of type BinaryTreeNode<T> | null, which means it can either be a BinaryTreeNode object or null.

    Returns boolean

    The method is returning a boolean value.

  • The function returns the id of the rightmost node if the comparison between two values is less than, the id of the leftmost node if the comparison is greater than, and the id of the rightmost node otherwise.

    Returns number

    The function lastKey() returns the ID of the rightmost node in a binary tree. If the comparison between the first two elements in the tree is less than, it returns the ID of the rightmost node. If the comparison is greater than, it returns the ID of the leftmost node. Otherwise, it also returns the ID of the rightmost node. If there are no nodes in

  • The lesserSum function calculates the sum of a specified property in all nodes with an ID less than a given ID in a binary search tree.

    Parameters

    • id: number

      The id parameter is the identifier of the binary tree node for which you want to calculate the lesser sum.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the property of the binary tree node to use for calculating the sum. If not provided, it defaults to 'id'.

    Returns number

    The function lesserSum returns a number, which represents the sum of the values of the nodes in the binary search tree that have a property value lesser than the given id.

  • The levelIterative function performs a level-order traversal on a binary tree and returns the values of the nodes in an array, based on a specified property name.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object representing the starting node for the level order traversal. It can be null if no specific node is provided, in which case the root node of the tree is used as the starting node.

    Returns number[]

    The function levelIterative returns an object of type ResultsByProperty<T>.

  • The levelIterative function performs a level-order traversal on a binary tree and returns the values of the nodes in an array, based on a specified property name.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object representing the starting node for the level order traversal. It can be null if no specific node is provided, in which case the root node of the tree is used as the starting node.

    • Optional nodeOrPropertyName: "id"

      The nodeOrPropertyName parameter is an optional parameter that can be either a BinaryTreeNode property name or the string 'id'. If a property name is provided, the function will accumulate results based on that property. If no property name is provided, the function will default to accumulating results

    Returns number[]

    The function levelIterative returns an object of type ResultsByProperty<T>.

  • The levelIterative function performs a level-order traversal on a binary tree and returns the values of the nodes in an array, based on a specified property name.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object representing the starting node for the level order traversal. It can be null if no specific node is provided, in which case the root node of the tree is used as the starting node.

    • Optional nodeOrPropertyName: "val"

      The nodeOrPropertyName parameter is an optional parameter that can be either a BinaryTreeNode property name or the string 'id'. If a property name is provided, the function will accumulate results based on that property. If no property name is provided, the function will default to accumulating results

    Returns T[]

    The function levelIterative returns an object of type ResultsByProperty<T>.

  • The levelIterative function performs a level-order traversal on a binary tree and returns the values of the nodes in an array, based on a specified property name.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object representing the starting node for the level order traversal. It can be null if no specific node is provided, in which case the root node of the tree is used as the starting node.

    • Optional nodeOrPropertyName: "node"

      The nodeOrPropertyName parameter is an optional parameter that can be either a BinaryTreeNode property name or the string 'id'. If a property name is provided, the function will accumulate results based on that property. If no property name is provided, the function will default to accumulating results

    Returns BinaryTreeNode<T>[]

    The function levelIterative returns an object of type ResultsByProperty<T>.

  • The levelIterative function performs a level-order traversal on a binary tree and returns the values of the nodes in an array, based on a specified property name.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object representing the starting node for the level order traversal. It can be null if no specific node is provided, in which case the root node of the tree is used as the starting node.

    • Optional nodeOrPropertyName: "count"

      The nodeOrPropertyName parameter is an optional parameter that can be either a BinaryTreeNode property name or the string 'id'. If a property name is provided, the function will accumulate results based on that property. If no property name is provided, the function will default to accumulating results

    Returns number[]

    The function levelIterative returns an object of type ResultsByProperty<T>.

  • The listLevels function collects nodes from a binary tree by a specified property and organizes them into levels.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object or null. It represents the root node of a binary tree. If it is null, the function will use the root node of the current binary tree instance.

    Returns number[][]

    The function listLevels returns a 2D array of ResultByProperty<T> objects.

  • The listLevels function collects nodes from a binary tree by a specified property and organizes them into levels.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object or null. It represents the root node of a binary tree. If it is null, the function will use the root node of the current binary tree instance.

    • Optional nodeOrPropertyName: "id"

      The nodeOrPropertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode object to collect at each level. It can be one of the following values:

    Returns number[][]

    The function listLevels returns a 2D array of ResultByProperty<T> objects.

  • The listLevels function collects nodes from a binary tree by a specified property and organizes them into levels.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object or null. It represents the root node of a binary tree. If it is null, the function will use the root node of the current binary tree instance.

    • Optional nodeOrPropertyName: "val"

      The nodeOrPropertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode object to collect at each level. It can be one of the following values:

    Returns T[][]

    The function listLevels returns a 2D array of ResultByProperty<T> objects.

  • The listLevels function collects nodes from a binary tree by a specified property and organizes them into levels.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object or null. It represents the root node of a binary tree. If it is null, the function will use the root node of the current binary tree instance.

    • Optional nodeOrPropertyName: "node"

      The nodeOrPropertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode object to collect at each level. It can be one of the following values:

    Returns BinaryTreeNode<T>[][]

    The function listLevels returns a 2D array of ResultByProperty<T> objects.

  • The listLevels function collects nodes from a binary tree by a specified property and organizes them into levels.

    Parameters

    • node: null | BinaryTreeNode<T>

      The node parameter is a BinaryTreeNode object or null. It represents the root node of a binary tree. If it is null, the function will use the root node of the current binary tree instance.

    • Optional nodeOrPropertyName: "count"

      The nodeOrPropertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode object to collect at each level. It can be one of the following values:

    Returns number[][]

    The function listLevels returns a 2D array of ResultByProperty<T> objects.

  • The morris function performs an in-order, pre-order, or post-order traversal on a binary tree using the Morris traversal algorithm and returns the results based on the specified property name. The time complexity of Morris traversal is O(n), it's may slower than others The space complexity Morris traversal is O(1) because no using stack

    Returns number[]

    The function morris returns an object of type ResultsByProperty<T>.

  • The morris function performs an in-order, pre-order, or post-order traversal on a binary tree using the Morris traversal algorithm and returns the results based on the specified property name. The time complexity of Morris traversal is O(n), it's may slower than others The space complexity Morris traversal is O(1) because no using stack

    Parameters

    • Optional pattern: DFSOrderPattern

      The pattern parameter is an optional parameter that determines the traversal pattern of the binary tree. It can have one of three values:

    • Optional nodeOrPropertyName: "id"

      The nodeOrPropertyName parameter is used to specify the property of the nodes that you want to retrieve in the results. It can be either the node itself or the name of the property. If not provided, it defaults to 'id'.

    Returns number[]

    The function morris returns an object of type ResultsByProperty<T>.

  • The morris function performs an in-order, pre-order, or post-order traversal on a binary tree using the Morris traversal algorithm and returns the results based on the specified property name. The time complexity of Morris traversal is O(n), it's may slower than others The space complexity Morris traversal is O(1) because no using stack

    Parameters

    • Optional pattern: DFSOrderPattern

      The pattern parameter is an optional parameter that determines the traversal pattern of the binary tree. It can have one of three values:

    • Optional nodeOrPropertyName: "val"

      The nodeOrPropertyName parameter is used to specify the property of the nodes that you want to retrieve in the results. It can be either the node itself or the name of the property. If not provided, it defaults to 'id'.

    Returns T[]

    The function morris returns an object of type ResultsByProperty<T>.

  • The morris function performs an in-order, pre-order, or post-order traversal on a binary tree using the Morris traversal algorithm and returns the results based on the specified property name. The time complexity of Morris traversal is O(n), it's may slower than others The space complexity Morris traversal is O(1) because no using stack

    Parameters

    • Optional pattern: DFSOrderPattern

      The pattern parameter is an optional parameter that determines the traversal pattern of the binary tree. It can have one of three values:

    • Optional nodeOrPropertyName: "node"

      The nodeOrPropertyName parameter is used to specify the property of the nodes that you want to retrieve in the results. It can be either the node itself or the name of the property. If not provided, it defaults to 'id'.

    Returns BinaryTreeNode<T>[]

    The function morris returns an object of type ResultsByProperty<T>.

  • The morris function performs an in-order, pre-order, or post-order traversal on a binary tree using the Morris traversal algorithm and returns the results based on the specified property name. The time complexity of Morris traversal is O(n), it's may slower than others The space complexity Morris traversal is O(1) because no using stack

    Parameters

    • Optional pattern: DFSOrderPattern

      The pattern parameter is an optional parameter that determines the traversal pattern of the binary tree. It can have one of three values:

    • Optional nodeOrPropertyName: "count"

      The nodeOrPropertyName parameter is used to specify the property of the nodes that you want to retrieve in the results. It can be either the node itself or the name of the property. If not provided, it defaults to 'id'.

    Returns number[]

    The function morris returns an object of type ResultsByProperty<T>.

  • The function overrides the remove method of the Binary Search Tree class, performs the removal operation, and then balances the tree if necessary.

    Parameters

    • id: number

      The id parameter represents the identifier of the binary tree node that needs to be removed from the AVL tree.

    • Optional isUpdateAllLeftSum: boolean

      The isUpdateAllLeftSum parameter is an optional boolean parameter that determines whether the left sum of all nodes in the AVL tree should be updated after removing a node. If isUpdateAllLeftSum is set to true, the left sum of all nodes will be recalculated.

    Returns AVLTreeDeleted<T>[]

    The method is returning an array of AVLTreeDeleted<T> objects.

  • The function subTreeAdd adds a specified delta value to a property of each node in a binary tree.

    Parameters

    • subTreeRoot: BinaryTreeNode<T>

      The subTreeRoot parameter is the root node of the subtree where the values will be modified.

    • delta: number

      The delta parameter is a number that represents the amount by which the property value of each node in the subtree should be increased or decreased.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode that should be modified. It defaults to 'id' if not provided.

    Returns boolean

    a boolean value, which is true.

  • The function subTreeSum calculates the sum of a specified property in a binary tree, either recursively or iteratively.

    Parameters

    • subTreeRoot: BinaryTreeNode<T>

      The subTreeRoot parameter is the root node of the subtree for which you want to calculate the sum.

    • Optional propertyName: BinaryTreeNodePropertyName

      The propertyName parameter is an optional parameter that specifies the property of the BinaryTreeNode object to use for calculating the sum. If propertyName is not provided, it defaults to 'val'.

    Returns number

    a number, which is the sum of the values of the nodes in the subtree rooted at subTreeRoot.

  • The function updates the height of a node in an AVL tree based on the heights of its left and right subtrees.

    Parameters

    • node: AVLTreeNode<T>

      The parameter node is an AVLTreeNode object, which represents a node in an AVL tree.

    Returns void

Generated using TypeDoc