From 23a0653d23310566e28e65f47511fd8797552090 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Sat, 7 May 2022 17:11:07 +0200 Subject: [PATCH] chore: minor refactor Signed-off-by: Matej Focko --- avl.js | 13 ++++++++----- wavl.js | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/avl.js b/avl.js index b618142..6128e33 100644 --- a/avl.js +++ b/avl.js @@ -18,14 +18,15 @@ class AVLTree extends RankedTree { return true; } - recursive = recursive ?? true; - - let differences = nodeDifferences(node); - differences.sort(); - if (!differences.equals([1, 1]) && !differences.equals([1, 2])) { + let differences = nodeDifferences(node).sort(); + if ( + (!differences.equals([1, 1]) && !differences.equals([1, 2])) || + node.rank != 1 + Math.max(...differences) + ) { return false; } + recursive = recursive ?? true; return ( !recursive || (this.isCorrectNode(node.left) && this.isCorrectNode(node.right)) @@ -121,6 +122,8 @@ class AVLTree extends RankedTree { break; default: rotateRight(y); + this.record(); + newRoot = rotateLeft(x); break; } diff --git a/wavl.js b/wavl.js index aece6ef..b62fc0f 100644 --- a/wavl.js +++ b/wavl.js @@ -14,8 +14,9 @@ class WAVLTree extends AVLTree { return node.rank == 0; } + recursive = recursive ?? true; return ( - !(recursive ?? true) || + !recursive || (this.isCorrectNode(node.left) && this.isCorrectNode(node.right)) ); }