MCPcopy Index your code
hub / github.com/loiane/javascript-datastructures-algorithms / #insertNode

Method #insertNode

src/10-tree/avl-tree.js:36–50  ·  view source on GitHub ↗
(data, currentNode)

Source from the content-addressed store, hash-verified

34 }
35
36 #insertNode(data, currentNode) {
37 if (!currentNode) {
38 return new AVLNode(data);
39 }
40
41 if (this.#compareFn.lessThan(data, currentNode.data)) {
42 currentNode.left = this.#insertNode(data, currentNode.left);
43 } else {
44 currentNode.right = this.#insertNode(data, currentNode.right);
45 }
46
47 currentNode.height = this.#updateNodeHeight(currentNode);
48
49 return this.#balance(currentNode);
50 }
51
52 #updateNodeHeight(node) {
53 return 1 + Math.max(this.#getHeight(node.left), this.#getHeight(node.right));

Callers 1

insertMethod · 0.95

Calls 3

#updateNodeHeightMethod · 0.95
#balanceMethod · 0.95
lessThanMethod · 0.45

Tested by

no test coverage detected