From 61a0f33f1939bfcab23ded476b88a8bdad1fdf52 Mon Sep 17 00:00:00 2001 From: Eyas Ranjous Date: Sun, 12 Apr 2020 22:47:42 -0500 Subject: [PATCH 1/5] jsdoc --- src/avlTree.js | 25 ++++++++++++++++--------- src/avlTreeNode.js | 1 - 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/avlTree.js b/src/avlTree.js index f9782c3..0f5df15 100644 --- a/src/avlTree.js +++ b/src/avlTree.js @@ -1,5 +1,5 @@ /** - * datastructures-js/binary-search-tree + * @datastructures-js/binary-search-tree * @copyright 2020 Eyas Ranjous * @license MIT */ @@ -17,7 +17,7 @@ class AvlTree extends BinarySearchTree { * applies the proper rotation on nodes after an insert or remove * @param {AvlTreeNode} node */ - balanceNode(node) { + _balanceNode(node) { if (!node) return; node.updateHeight(); @@ -42,12 +42,11 @@ class AvlTree extends BinarySearchTree { /** * @public - * * inserts a node with a key/value into tree * and maintains the tree balanced by applying the necessary rotations - * * @param {number|string} key - * @param {object} vaue + * @param {object} value + * @param {AvlTreeNode} node * @return {AvlTreeNode} the inserted node */ insert(key, value, node = this._root) { @@ -82,27 +81,35 @@ class AvlTree extends BinarySearchTree { if (key < node.getKey()) { const newNode = this.insert(key, value, node.getLeft()); - this.balanceNode(node); // back-tracking + this._balanceNode(node); // back-tracking return newNode; } const newNode = this.insert(key, value, node.getRight()); - this.balanceNode(node); // back-tracking + this._balanceNode(node); // back-tracking return newNode; } + /** + * @public + * remove a node by its key + * and maintains the tree balanced by applying the necessary rotations + * @param {number|string} key + * @param {BinarySearchTreeNode} node + * @return {boolean} + */ remove(key, node = this._root) { if (node === null) return false; if (key < node.getKey()) { const removed = this.remove(key, node.getLeft()); - this.balanceNode(node); + this._balanceNode(node); return removed; } if (key > node.getKey()) { const removed = this.remove(key, node.getRight()); - this.balanceNode(node); + this._balanceNode(node); return removed; } diff --git a/src/avlTreeNode.js b/src/avlTreeNode.js index 648dd6e..f502985 100644 --- a/src/avlTreeNode.js +++ b/src/avlTreeNode.js @@ -10,7 +10,6 @@ const BinarySearchTreeNode = require('./binarySearchTreeNode'); * @class AvlTreeNode * @extends BinarySearchTreeNode */ - class AvlTreeNode extends BinarySearchTreeNode { constructor(key, value) { super(key, value); From a689a33f88d2d8f17e4970eacd8ca6f5a7202ae6 Mon Sep 17 00:00:00 2001 From: Eyas Ranjous Date: Sun, 12 Apr 2020 22:49:26 -0500 Subject: [PATCH 2/5] v3.1.4 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c88c9b..421dafa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.1.4] - 2020-04-12 +### Fixed +- jsdoc + ## [3.1.3] - 2020-04-10 ### Fixed - README From e7a9161a3100548ba144b2c89eb82a371d3be53b Mon Sep 17 00:00:00 2001 From: Eyas Ranjous Date: Sun, 12 Apr 2020 22:49:30 -0500 Subject: [PATCH 3/5] v3.1.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9d32112..d163c2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@datastructures-js/binary-search-tree", - "version": "3.1.3", + "version": "3.1.4", "description": "binary search tree & avl tree (self balancing tree) implementation in javascript", "main": "index.js", "scripts": { From 8de5307120eb712e2ef23337a97a591a4b770dc3 Mon Sep 17 00:00:00 2001 From: Eyas Ranjous Date: Sun, 12 Apr 2020 22:51:02 -0500 Subject: [PATCH 4/5] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d43af9..3f22d6e 100644 --- a/README.md +++ b/README.md @@ -484,7 +484,7 @@ returns node's parent node. ### AvlTreeNode -extends BinarySearchTreeNode and add the following methods: +extends BinarySearchTreeNode and adds the following methods: #### .getHeight() the height of the node in the tree. root height is 1. From 0cce646307d6528d972854abc59b6413293c1bc8 Mon Sep 17 00:00:00 2001 From: Eyas Ranjous Date: Sun, 12 Apr 2020 22:57:19 -0500 Subject: [PATCH 5/5] jsdoc --- src/avlTree.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/avlTree.js b/src/avlTree.js index 0f5df15..e22a382 100644 --- a/src/avlTree.js +++ b/src/avlTree.js @@ -95,7 +95,7 @@ class AvlTree extends BinarySearchTree { * remove a node by its key * and maintains the tree balanced by applying the necessary rotations * @param {number|string} key - * @param {BinarySearchTreeNode} node + * @param {AvlTreeNode} node * @return {boolean} */ remove(key, node = this._root) {