diff --git a/CHANGELOG.md b/CHANGELOG.md index fb773a6..d876ec9 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.8] - 2021-04-02 +### Fixed +- update the removed node value with min right one in avl tree. + ## [3.1.7] - 2021-01-26 ### Fixed - update the removed node value with min right one. diff --git a/package.json b/package.json index c47bc10..a67c566 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@datastructures-js/binary-search-tree", - "version": "3.1.7", + "version": "3.1.8", "description": "binary search tree & avl tree (self balancing tree) implementation in javascript", "main": "index.js", "scripts": { diff --git a/src/avlTree.js b/src/avlTree.js index da118f3..b2bb488 100644 --- a/src/avlTree.js +++ b/src/avlTree.js @@ -159,6 +159,7 @@ class AvlTree extends BinarySearchTree { const minRight = this.min(node.getRight()); node.setKey(minRight.getKey()); + node.setValue(minRight.getValue()); return this.remove(minRight.getKey(), minRight); } } diff --git a/test/avlTree.test.js b/test/avlTree.test.js index 4368ec3..59c7439 100644 --- a/test/avlTree.test.js +++ b/test/avlTree.test.js @@ -434,6 +434,7 @@ describe('AvlTree tests', () => { avlTree.remove(20); expect(avlTree.root().getKey()).to.equal(40); + expect(avlTree.root().getValue()).to.equal('n4'); expect(avlTree.root().getLeft().getKey()).to.equal(15); avlTree.remove(40);